我想从用户年龄,性别(m / f),婚姻状况(m / u)中获取3个输入。我将char数据类型用于性别和婚姻状况。这是下面的代码。
#include<stdio.h>
#include<conio.h>
main() {
int age;
char gender,marital_status;
printf("Enter your age: ");
scanf("%d",&age);
printf("Enter your gender (m/f): ");
scanf("%c",&gender);
printf("\nEnter your marital status (m/u): ");
scanf("%c",&marital_status);
}
年龄部分是完全起作用的,即,它需要用户和存储年龄才能使用。但是之后,下面的两个printf语句立即显示。如何一一显示它们,以接受用户输入的性别和婚姻状况。
这是因为%c
接受'\n'
输入年龄后剩下的符号。您最好读入一个字符串,并采用第一个字符,如下所示:
char buf[2];
printf("Enter your gender (m/f): ");
scanf("%1s", buf);
gender = buf[0];
printf("\nEnter your marital status (m/u): ");
scanf("%1s", buf);
marital_status = buf[0];
该%s
格式说明设置为忽略所有空格。请注意%
格式说明符中的一个字符限制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句