有什么复杂的,不就是:因为C语言是比较低级的语言,没有字符串概念,只有字符数组,不能自动分配空间,要存放数据,必须预先定义存储空间的大小。你可能会问为什么这种可以呢:char *name="abcd";这是因为这种也是字符数组初始化固定的空间4个,所以你要记住,初始化一定要预定存放的空间大小!
还有你想达到高级语言的效果,你也可以用a[i].name = (char *)malloc(100); /*这里也要常量*/scanf("%d%s",&a[i].nu,a[i].name); 就没问题了! |