#include
int main(void)
{
char fname[20], lname[20];
printf("Please enter your first name: ");
scanf_s("%19s",fname[20]);
printf("Please enter your last name: ");
scanf_s("%19s",lname[20]);
printf("Hello! %s, %s.\n", fname, lname);
return 0;
}
scanf_s("%19s",fname[20]);
->
scanf_s("%s",&fname[0], 19);
这样看看呢
完整的程序
#include <stdio.h>*/编写一个程序,提示用户输入名和姓,然后以"名,姓"的格式打印出来/
int main(void)
{
char fname[20], lname[20];
printf("Please enter your first name: ");
scanf_s("%s",&fname[0], 19);
printf("Please enter your last name: ");
scanf_s("%s",&lname[0], 19);
printf("Hello! %s, %s.\n", fname, lname);
return 0;
}
scanf_s使用不正确,修改如下:
#include <stdio.h>//编写一个程序,提示用户输入名和姓,然后以"名,姓"的格式打印出来/
int main(void)
{
char fname[20], lname[20];
printf("Please enter your first name: ");
scanf_s("%s",fname,20);
printf("Please enter your last name: ");
scanf_s("%s",lname,20);
printf("Hello! %s, %s.\n", fname, lname);
return 0;
}
参考GPT和自己的思路:
这个问题是因为 scanf_s 函数的参数传递有误。应该传递数组名,而不是数组中的某一个元素。具体的修改方法如下所示:
printf("Please enter your first name: ");
scanf_s("%19s",fname, 20);
printf("Please enter your last name: ");
scanf_s("%19s",lname, 20);
printf("Hello! %s, %s.\n", fname, lname);
这样就可以正确地获取用户输入的内容,并且打印出来了。
不知道你这个问题是否已经解决, 如果还没有解决的话: