首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请帮小弟我解释一下这个scanf的读取方法

2013-11-20 
请帮我解释一下这个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() 函数的返回值,估计你就应该明白了。

热点排行