今天,我编写了一个 C 程序来从键盘扫描两个名字并将其打印在显示器上
char b[2],i;
for(i=0;i<2;i++)
{
scanf("%s",b[i]);
}
for(i=0;i<2;i++)
{
printf("%s",b[i]);
}
但是输出是运行时错误,我是 C 初学者。我应该做什么才能使它成为正确的程序。
最佳答案
看看你声明的字符b[2]
是错误的。您正在扫描字符串值,并且您的声明表明您需要 b 数组中的两个字符
如果您想接受两个字符串值,则您的声明必须是:
char *b[1];
在这里您可以扫描数组中的值:
*b[0] = "string1";
*b[1] = "string2";
或
您可以使用二维数组进行存储,然后您的声明将是:
char b[2][100];
这里,100 指定您要输入的字符串的字符数,2 是您要输入的字符串的值的数量。
我希望这能消除您的疑虑。
关于C语言: Scanning and printing Names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519918/