scanf输入格式没有指定,默认是空格分割。
也就是说,你要么输入一个数就回车,再输第二个。
要么连续输入多个数,用空格分割。
看看,你输入格式对不对。
因为你写的有for循环啊 for(i=0 i<5i++) 你输入两个后循环还没有退出,又执行输入语句 scanf("%d",&a[i]) 所以你必须得输入啊,要不程序一直停这,没法向下运行如果你想输入任意个数 给你一段程序:
i=0
printf("输入数据,回车结束\n")
do
{
scanf("%d",&a[i])
i++
c=getchar()
if(c=='\n')
break
}
while(1)
boy1.name[20]="Zhang ping"此形式不对,name是数组,数组在初始化时可以写成name[20]="Zhang ping"但是定义之后在函数的执行部分中就不能这样写了,可以用字符串拷贝函数,即写成strcpy(boy1.name,"Zhang ping")c[2]={1,2} 错误,要逐个元素赋值。写成e.c[0]=1e.c[1]=2或者在定义结构体变量e时初始化: struct a e={2,'f',1,2,1.23}