请帮小弟我解释一下这个scanf的读取方法
请帮我解释一下这个scanf的读取方法我觉得a应该在输入流中等待读取,b没有读到它,ch应该会读到它,但是结果
请帮我解释一下这个scanf的读取方法
我觉得a应该在输入流中等待读取,b没有读到它,ch应该会读到它,但是结果也没有?我的理解是哪里错了?
[解决办法]一下是个参考代码:
#include "stdafx.h"
#include "stdio.h"
int main(void)
{
int a, b;
char ch;
scanf("%d%c%d", &a, &ch, &b);
printf("a = %d b = %d ch = %c\n", a, b, ch);
return 0;
}
输入 & 输出:
12ah
a = 12 b = -858993460 ch = a
[解决办法]因为你输入数据,以ENTER键结束输入时,它把ENTER键当做CH输入值,ENTER在系统里当成0
[解决办法]查看一下scanf() 函数的返回值,估计你就应该明白了。