c语言中的%4d是什么意思?

如题所述

%4d用在printf()里面,表示在当前光标所在位置以“右对齐”的方式输出int类型的整数,占四个字符宽度,
比如整数123,printf()输出的是三个字符'1','2','3',一个字符占一个字符宽度。

123只占了三个字符宽度,那么第1个字符宽度就是空格符,空格符在屏幕上你是看不到的,输出后,光标是在字符'3'后面。如果加\n换行符,光标就在下一行的起始位置。

如果是12345,超过了四个字符宽度,就从光标所在位置完整输出并向后再占一个字符宽度。输出后,光标在字符'5'后面。

%-4d,就是以“左对齐”的方式输出。123的第四个字符宽度就是空格符,输出后光标是在空格符后面。
其它情况可以类推,比如%5d,%6d,%-5d,%-6d............%5f,%-5f......

如果用在scanf()里,%4d表示读取的最大字符宽度,也就是你输入了五位数,最多读取前四位。如果是两位数接着是空白符(空格符,制表符,换行符等),读取的就是两位数。
在scanf()里不要使用%-4d,因为会发生意想不到的错误,读取的数据和当前缓冲区里的字符流有关。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-13
相似回答