【发布时间】:2021-04-03 19:53:29
【问题描述】:
我正在制作一个程序,教师可以在其中输入学生人数和全名。我不知道我做错了什么,因为这是我第一次尝试打印字符串数组。这是我遇到问题的程序部分:
#include <stdio.h>
int main()
{
int n_students,i,b=1;
char surname[20],first_name[20];
printf("number of students:");
scanf("%d",&n_students);
for(i=0;i<n_students;i++)
{
printf("%d. ",b);
scanf("%s %s",&surname[i],&first_name[i]);
}
for(i=0;i<n_students;i++)
{
printf("%s, %s",first_name[i],surname[i]);
}
}
这部分是我遇到的麻烦。请帮忙
for(i=0;i<n_students;i++)
{
printf("%s, %s",first_name[i],surname[i]);
}
【问题讨论】:
-
你没有字符串数组,你有一个字符数组(即“一个字符串”)你的代码将覆盖名称(第一个字母除外)
-
提示:C 中的字符串是字符数组。现在试试。
-
您可以通过在循环中将 %s 替换为 %c 来简单地修复它。因为你不需要一个字符串数组,而是一个字符数组。