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]);
}
}发布于 2022-02-01 17:04:39
使用行if (Specific==ID[i])比较字符串的指针(内存地址),而不是它们的内容。要比较它们的内容,可以使用例如在strcmp中定义的string.h函数。如果两个字符串相等,则返回0:
if (!strcmp(Specific,ID[i])){....不要使用scanf(" %s",&name[i]);,请使用scanf(" %s",name[i]);和scanf(" %s",&ID[i]); --> scanf(" %s",ID[i]);
https://stackoverflow.com/questions/70943812
复制相似问题