scanf输入数组问题
输入学生的信息
#include<stdio.h> main() { struct { int num; char name[20]; char sex; int age; }stu[5]; int i; for(i=0;i<5;i++) { printf("请输入学生信息 "); scanf("%d",&stu[i].num); scanf("%s",&stu[i].name); scanf("%c",&stu[i].sex); //在%c之前加一个空格 scanf("%d",&stu[i].age); } for(i=0;i<5;i++) { printf( "*%s*",stu[i].name); } }发现在输入name时,如果名字长度不够20个字符,那么接下来的sex,age都会输进name[20]的数组中。后来的printf打印出来肯定是错误的。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: c语言由键盘输入不定长数组的元素
- 下一篇: volist遍历2个平行list,含嵌套list