今天写一个代码(非模仿),是关于写一个函数![输入图片说明]
(https://foruda.gitee.com/images/1665645429147769518/febbe734_11753536.jpeg "IMG_20221013_151158_edit_1298854288274204.jpg")
刚开始本人写上了scanf("%d\n", &x);
但是发现运行时输入数据后回车,并没有出现想象中的结果,然后本人尝试许久,发现再输入一个数据或者字符再按回车就会出现最后结果,而后本人将\n删除,发现这时输入数据按回车可直接得到最后结果,为什么呢?
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int x, y;
printf("请输入x的值:\n");
scanf("%d", &x);
if (x < 1)
y = x;
else if (x >= 1 & x < 10)
y = 2 * x - 1;
else
y = 3 * x - 11;
printf("y=%d\n", y);
return 0;
}
一段时间过后的猜想:是不是因为回车与空格对于scanf来说相当于是终止符,scanf读取了回车后就停止读取了,而我再输入一个字符后,scanf继续操作,再按回车就可以得出最后结果。(自己写的\n和回车还是有差别)