#include<stdio.h>
#include<string.h>
struct s {
char ch[20];
float a;
};
int main()
{
struct s p[10];
int i;
for(i=0;i<10;i++)
{
scanf("%s%f",p[i].ch,p[i].a);
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题?
它给出了运行时错误.
有什么问题?
大多数错误都来自这条线.
scanf("%s%f",p[i].ch,p[i].a);
Run Code Online (Sandbox Code Playgroud)
您应该使用地址p[i].a,并限制要写入的字符数p[i].ch.
scanf( "%19s%f", p[i].ch, &p[i].a );
Run Code Online (Sandbox Code Playgroud)