char middle;
printf("What is your middle name? ");
scanf(" %c", &middle);
printf("Your middle name is %c \n\n", middle);
所以我正在尝试制作一个简单的程序,要求输入一个名称然后将其打印出来,但它只返回一个字符,我知道%c代表字符,但我需要做些什么才能获得完整的名称?在此先感谢,抱歉这样一个愚蠢的问题,只有初学者:)
答案 0 :(得分:4)
为多个角色预留空间:
char middle[32];
并扫描和打印字符串:
if(scanf("%31s", middle) == 1)
printf("Your middle name is %s\n, middle);
答案 1 :(得分:1)
您只获得一个字符,如果您想要一个完整的单词,则应使用"%s"
作为格式字符串。以下代码将为您提供中间名,只要您不输入超过50个字符(尝试放置超过50个字符以查看会发生什么!)。
char middle[50];
scanf("%s", middle);
然后打印结果:
printf("Middle name is %s", middle);
答案 2 :(得分:1)
char* middle=malloc(EXPECTED_NAME_LENGTH+1);
printf("What is your middle name? ");
scanf(" %s", middle);
printf("Your middle name is %c \n\n", middle);