c语言错误
#include <stdio.h> main() {char name[10]; int num[10],i,j; for(i=0;i<10;i++) {printf("输入第%d个职工姓名\n",i+1); scanf("%c",&name[i]); } } 错在哪?
#include <stdio.h> main() {char name[10]; int num[10],i,j; for(i=0;i<10;i++) {printf("输入第%d个职工姓名\n",i+1); scanf("%c",&name[i]); } } 错在哪?
答案:不知你的这段程序是要用来干吗的?
看你的程序大概是想挨个输入10个姓名存到数组a里吧?(num[10]是干吗的?没有用到啊)
如果是这样的话你的程序应改成下面这样
#include <stdio.h>
main()
{
char name[10][10];
//这里声明成二维数组来存放名字,一维数组只能存放一个名字,除非你名字是单字符
int i;
for(i=0;i<10;i++)
{
printf("输入第%d个职工姓名\n",i+1);
scanf("%s",name[i]);//这里的name[i]是指向字符的指针 %s是扫描字符串 %c只是单个字符
}
}
有什么不懂的可以hi我 有什么问题我尽量帮你
其他:你的疑问是不是每次循环会跳过一次输入啊?回车符闹的,你在scanf("%c",&name[i]);后面加一句getc(stdin);就正常了。你的程序还存在其他问题吗,可参照“白一戸”的解答。 改为scanf("%c%*c",&name[i]);试试。
上一个:爱问C语言——矩阵倒置。
下一个:还是C语言的问题