为什么 scanf( )(scanf_s)函数老要输入两次才行?

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么 scanf( )(scanf_s)函数老要输入两次才行?相关的知识,希望对你有一定的参考价值。

如图:scanf()函数老要输入两次,按回车键盘后还得输入一个数再按回车健,才结束

#include <stdio.h>
int main() {
	int    i, b;
	int result;//函数返回值
	scanf("%d ", &i);
	printf("普通拳!\\n");
	//scanf("%d %d", &i, &b);
	//result = scanf_s("%d %d", &i, &b);//运行结果为2,因为输入了两个数,一个a,一个b
	return 0;
}

在这里插入图片描述

后来经过我仔细检查代码后发现,是我在%d后面多加了个空格
在这里插入图片描述
把空格删掉就好了:
在这里插入图片描述

以上是关于为什么 scanf( )(scanf_s)函数老要输入两次才行?的主要内容,如果未能解决你的问题,请参考以下文章

C语言scanf_s()函数的用法

关于while(scanf_s("%d",&x)!=0) 的逻辑错误 (scanf_s的 返回值)

An easy problem(hdu2055)

scanf_s写入错误怎么办?(第三个参数指定接收长度)

为啥VS2013告诉我使用scanf_s?

为什么VS2013告诉我使用scanf_s?