#include<stdio.h>
struct iform{
char sub[20];
char name[20];
int time;
};
struct iform s[5]={
{"Math","Wang",60},
{"Writing","Li",32},
{"C Language","Chang",48},
{"English","Ma",60},
{"Art","Zhang",32}
};
int main(void)
{
int i;
char a[20];
scanf("%s",&a);
for(i=0;i<5;i++)
{
if(a==s[i].sub)
printf("%s %s %d",&s[i].sub,&s[i].name,&s[i].time);
if(a==s[i].sub)
break;
}
return 0;
}
一個c的作業,為什么不管輸什么結果都是什么都沒有
uj5u.com熱心網友回復:
scanf("%s",&a); ==》》這里a是字符陣列,不用取地址符號if(a==s[i].sub) ==》》字串不能這樣直接比較,要用 if (strcmp(a, s[i].sub) == 0)這樣比較
uj5u.com熱心網友回復:
printf("%s %s %d",s[i].sub,s[i].name,s[i].time);轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66121.html
標籤:C語言
上一篇:又是我,我又來了
