C语言 printf 和 scanf 中的%2c是什么意思

如题所述

printf 是以 两字符宽输出 对应的字符
scanf 是 表示读两个字符,但是这里是%c,所以会把最先读到的字符赋给对应字符变量 但是要注意,其实程序已经读了两字符(及输入流里的前两字符已读过),所以读完该字符给变量后,当有下一个变量也要从输入流读数据时,会直接读第三个字符;
举个例子吧
比如我想定义了两字符 ch1 ch2
然后有该语句 scanf( "%2c%c", &ch1, &ch2 );
printf( "%c\t%c", ch1, ch2 );
然后我在运行该程序输数据时输入 somejob 后 按回车键
这时 输出结果会是 s m
也就是说 读数据至ch2时好像跳过了第二个字符 ,直接把第三字符读入ch2中
但是 如果你写成 scanf( "%c%c", &ch1, &ch2 );
其结果会是 s o
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-14
printf为输出,scanf为输入,%2c输入或输出字符,宽度为2 在printf函数中如果输出的超过2个字符还是会按原来的字符 如果不足2个字符 会补空格。本回答被提问者采纳
第2个回答  2010-10-14
指定字段宽度 c是输出字符 当前的意思是 输出一个字符 占据两个字符的位置 左端补以空格
可参考文章:http://www.360doc.com/content/10/0903/10/26238_50825208.shtml
第3个回答  2010-10-14
这个真是太难了。

我只知道,就这个可以输出几位整数,输出几们小数。

你说的这个,太难了。回答不了。总之,没什么意思。不好玩。
第4个回答  2010-10-14
printf为输入,scanf为输入,%2c输入或输出字符,宽度为2
相似回答