使用scanf读取一行中的字符串和int时出现问题
我必须读取由空格分隔的3个字符串和由空格分隔的2个整数,并将它们保存到结构中使用scanf读取一行中的字符串和int时出现问题,c,string,struct,int,scanf,C,String,Struct,Int,Scanf,我必须读取由空格分隔的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++) { sc
#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);
}
for(i=0;iscanf语句有语法错误。&
应在整型之前使用
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 /*;*/
不应使用;
示例:
如果使用了;
,则它将替换结构变量声明中的客户端[5;]。然后它将发出编译错误。更改为&客户端[i].num,&客户端[i].kw