[英]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.