输入数据并回车后程序未按预期运行

输入数据并回车后程序未按预期运行,第1张

输入数据并回车后程序未按预期运行 此问题属于输入问题(回车问题)

如下程序(一个简单的if语句)

#include 

int main() {
	int a, b;
	printf("请输入性别:(M/F)");
	scanf("%d", &a);
	printf("请输入是否录取:(Y/N)");
	scanf("%d", &b);

	if (a == 'F' && b == 'Y')
		printf("恭喜你女士,您已被录取!");
	return 0;
}

运行程序后输入M并回车却出现以下结果(未输入Y/N却已执行结束)
错误原因:程序把输入的“回车”识别为了“是否录取”
解决办法

    在输入性别的scanf语句中同时读取回车(注意不要忘记定义存储回车的变量)
#include 

int main() {
	char a, e, b;
	printf("请输入性别:(M/F)");
	scanf("%c%c", &a, &e);
	printf("请输入是否录取:(Y/N)");
	scanf("%c", &b);

	if (a == 'F' && b == 'Y')
		printf("恭喜您,女士,您已被录取!");
	return 0;
}
    在输入性别的scanf语句后再加一个getchar()语句,以读取回车
#include 

int main() {
	char a, b;
	printf("请输入性别:(M/F)");
	scanf("%c", &a);
	getchar();
	printf("请输入是否录取:(Y/N)");
	scanf("%c", &b);

	if (a == 'F' && b == 'Y')
		printf("恭喜您,女士,您已被录取!");
	return 0;
}


芜湖,突然正常起来了

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5713820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存