当我输入下面的代码时,程序会编译并运行,但是当我输入一个人的名字时,所有名称的所有printf函数都会显示为输出。有什么建议吗?
#include<stdio.h>
int main()
{
char *Name = malloc(sizeof(char)*200);
char *Carson = malloc(sizeof(char)*200);
char *David = malloc(sizeof(char)*200);
char *Avery = malloc(sizeof(char)*200);
char *Taylor = malloc(sizeof(char)*200);
char *Brian = malloc(sizeof(char)*200);
printf("Enter a name:\n");
scanf("%s\n",Name);
printf("%s Hello Carson\n", Carson);
printf("%s What are you looking at me for, I dont have any gum!!\n", David);
printf("%s Good luck with volleyball this weekend!!\n", Avery);
printf("%s Unauthorized user. Please back away!\n", Taylor);
printf("%s Hello user.\n", Brian);
return(0);
}
答案 0 :(得分:2)
实际上,当你这样做时
scanf("%s\n",Name);
您将标准输入中的字符串放在“名称”中。
当你这样做时:
printf("%s Hello Carson\n", Carson);
你打印字符串“Carson”,但没有任何内容。
尝试:
printf("%s Hello Carson\n", Name);
因为您已将值放入“名称”中。
你也可以阅读一些书,这是非常早期的学习c语言。