C 如果声明不适用于婚姻状况
我正在创建一个程序,要求用户输入他们的婚姻状况。 我希望能够询问他们是或否,然后使用C 如果声明不适用于婚姻状况,c,if-statement,C,If Statement,我正在创建一个程序,要求用户输入他们的婚姻状况。 我希望能够询问他们是或否,然后使用if语句。 我的代码只是跳过if块并打印else块 #include<stdio.h> int main(void) { int age; char marr; printf("Please enter your age: \n"); scanf_s("%d",&age); getchar();// getchar() is being used to clear any buffer
if
语句。
我的代码只是跳过if
块并打印else
块
#include<stdio.h>
int main(void)
{
int age;
char marr;
printf("Please enter your age: \n");
scanf_s("%d",&age);
getchar();// getchar() is being used to clear any buffer of any remaining keystrokes that might stll be stored.
printf("Are you married ? (y/n)\n");
scanf_s("%c", &marr);
if (marr == 'y')
printf("Married\n");
else
printf("Unmarried\n");
}
#包括
内部主(空)
{
智力年龄;
查尔马尔;
printf(“请输入您的年龄:\n”);
扫描单位(“%d”和年龄);
getchar();//getchar()用于清除任何缓冲区中可能存储的任何剩余击键。
printf(“你结婚了吗?(是/否)\n”);
scanf_s(“%c”&marr);
如果(marr=='y')
printf(“已婚”);
其他的
printf(“未婚”);
}
出于某种原因,无论我输入什么,我仍然以的形式获得输出,
不知道为什么。在这种情况下,请使用scanf()
而不是scanf\u()。您也可以在scanf()
-语句中的%c
前面放置空格,而不是getchar()
-命令
#include<stdio.h>
int main(void) {
int age;
char marr;
printf("Please enter your age: \n");
scanf("%d",&age);
printf("Are you married ? (y/n)\n");
scanf(" %c", &marr);
if (marr == 'y')
printf("Married\n");
else
printf("Unmarried\n");
}
#包括
内部主(空){
智力年龄;
查尔马尔;
printf(“请输入您的年龄:\n”);
scanf(“%d”和年龄);
printf(“你结婚了吗?(是/否)\n”);
scanf(“%c”和&marr);
如果(marr=='y')
printf(“已婚”);
其他的
printf(“未婚”);
}
在这种情况下,请使用scanf()
而不是scanf\u()
,否则,如果输入参数是字符,则需要一个缓冲区大小参数。您也可以在scanf()
-语句中的%c
前面放置空格,而不是getchar()
-命令
#include<stdio.h>
int main(void) {
int age;
char marr;
printf("Please enter your age: \n");
scanf("%d",&age);
printf("Are you married ? (y/n)\n");
scanf(" %c", &marr);
if (marr == 'y')
printf("Married\n");
else
printf("Unmarried\n");
}
#包括
内部主(空){
智力年龄;
查尔马尔;
printf(“请输入您的年龄:\n”);
scanf(“%d”和年龄);
printf(“你结婚了吗?(是/否)\n”);
scanf(“%c”和&marr);
如果(marr=='y')
printf(“已婚”);
其他的
printf(“未婚”);
}
检查scanf的返回,然后打印出您收到的字符。您能详细说明一下吗?对不起,我不明白你在说什么。在未检查其返回值的情况下,切勿使用诸如scanf
之类的IO函数。只有在没有错误时才继续。此外,函数应该已经将值写入变量marr
。查看该变量的内容是否如您所期望的那样。检查scanf
的返回,然后打印出您收到的字符。您能详细说明一下吗?对不起,我不明白你在说什么。在未检查其返回值的情况下,切勿使用诸如scanf
之类的IO函数。只有在没有错误时才继续。此外,函数应该已经将值写入变量marr
。查看该变量的内容是否如您所期望的那样。