#include <stdio.h>
int main ()
{
char yourname;
int yourage;
printf("Whats your name?\t");
scanf("%c",&yourname);
printf("How old are you?\t");
scanf("%d",&yourage);
printf("You are %d years old and your name is %c\n\n\n",yourage,yourname);
system("pause");
return(0);
}
我希望此程序询问用户名和年龄,然后打印它们。
答案 0 :(得分:2)
当您使用scanf
时,%c
旨在获取单个字符。如果您想获得字符串,则需要使用%s
。
另外,在C语言中,string只是char数组。所以你需要声明一个char数组。
#include <stdio.h>
int main ()
{
char yourname[100];
int yourage;
printf("Whats your name?\t");
scanf("%s",yourname); //i let you read the doc to avoid overflow :)
printf("How old are you?\t");
scanf("%d",&yourage);
printf("You are %d years old and your name is %s \n\n\n",yourage,yourname);
system("pause");
return(0);
}
答案 1 :(得分:0)
名称应该是一个字符数组,我的意思是字符串。所以你可以创建一个字符串:
char yourname[30];
.
.
scanf("%s", &yourname);
.
.
printf("your name is %s\n",yourname);
答案 2 :(得分:0)
这应该适合你:
#include <stdio.h>
int main () {
char yourname[20];
int yourage;
printf("Whats your name?\t");
scanf("%18[^\n]s", yourname);
yourname[19] = '\0';
fflush(stdin);
printf("How old are you?\t");
scanf(" %d",&yourage);
printf("You are %d years old and your name is %s\n\n\n", yourage, yourname);
system("pause");
return(0);
}