簡體   English   中英

如何在 C 語言的二維數組上使用 if 語句

[英]How to use if statement on 2d Array on C language

當我嘗試運行此代碼時,它表示指針和 integer 之間的比較。 代碼的目的是檢查用戶的 if 語句是否與數組存儲中的相同。 例如:我將值 A20ET006 存儲在 ID 數組中。 然后如果用戶輸入相同的 ID,它會打印一些東西。請幫助我,我是新手,對不起我的英語不好。具體是檢查里面的值是否與用戶輸入相同的變量

              char name[n][100];//n from user input
                char ID[n][100];
    for(i=0 ; i<n; i++)
{
    printf("Enter name for student %d :",(i+1));``
    scanf(" %s",&name[i]);
    printf("Enter the Id for student %d : ",(i+1));
    scanf(" %s",&ID[i]);
}
                
                for(i=0; i<n; i++)
                {
            
                    
                    if (Specific==ID[i])
                    {
                            printf("EXAM RESULT\n");
                            printf("Name    :%s\n",name[i]);
                            printf("Student ID  :%s\n",ID[i]);
                            printf("Number of question missed: %d",totalwrong[i]);
                            printf("List of question missed:\n");
                            printf("Question\tCorrect Answer\tStudent Answer\n");
                            printf("\t%c\t%c\n",scheme[i],StudentAnswer[i]);
                            printf("Percentage : %d%    ",percent[i]);
                            printf("GRED : %c ",GRADE[i]);
                    }
                    
                }
    

使用 line if (Specific==ID[i])比較字符串的指針(內存地址),而不是它們的內容。 要比較它們的內容,您可以使用string.h中定義的strcmp function 等。 如果 2 個字符串相等,則返回0

if (!strcmp(Specific,ID[i])){....

而不是scanf(" %s",&name[i]); 請使用scanf(" %s",name[i]); scanf(" %s",&ID[i]); ---> scanf(" %s",ID[i]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM