我希望能够使用scanf键入一个人的姓名然后单独出现一个关于该人的句子

时间:2014-01-29 15:06:58

标签: c

当我输入下面的代码时,程序会编译并运行,但是当我输入一个人的名字时,所有名称的所有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);
}

1 个答案:

答案 0 :(得分:2)

实际上,当你这样做时

scanf("%s\n",Name);

您将标准输入中的字符串放在“名称”中。

当你这样做时:

printf("%s Hello Carson\n", Carson);

你打印字符串“Carson”,但没有任何内容。

尝试:

printf("%s Hello Carson\n", Name);

因为您已将值放入“名称”中。

你也可以阅读一些书,这是非常早期的学习c语言。