我必须读取由空格分隔的3个字符串和由空格分隔的2个整数,并将它们保存到结构
#define n 5;
struct person
{
char last_name[20];
char sec_last_name[20];
char name[20];
int num;
int kw;
}client[n];
我试着像这样阅读
for(i=0;i<n;i++)
{
scanf("%s %s %s %d %d",client[i].last_name,client[i].sec_last_name,client[i].name,client[i].num,client[i].kw);
}
因为我必须连续阅读它,但是当我运行程序时它会在键入第一行数据并点击输入后停止,在玩了我的代码之后,问题与读取整数有关但是我似乎无法解决它。
答案 0 :(得分:0)
scanf语句出现语法错误。在你的情况下,&
应该在整数之前使用。
scanf("%s %s %s %d %d",client[i].last_name,client[i].sec_last_name,client[i].name,&client[i].num,&client[i].kw);
还有一件事,
#define n 5 /*;*/
不应使用 ;
。
示例:强>
如果使用;
,那么它将替换client [5;];在结构变量声明中。然后它会发出编译错误。