C语言中,比如 int a=12345; printf(”%2d\n”, a)%2d\n 中2表

C语言中,比如 int a=12345; printf(”%2d\n”, a)%2d\n 中2表示宽度为2,宽度是什么意思?运行结果是12345 如果 int a=8 那运行结果是什么?

就是指定输出的宽度(也就是字符数),如果输出的字符数不够,将右对齐(左边会加空格),如果输出的字符数超出,将按实际字符数输出
因此用%2d输出12345仍是12345(按实际长度输出),用%2d输出8将是 8(8的左边有一空格)

补充,如果%d中间用的是负数,输出时将使用左对齐的方式,因此用%-2d输出8将是8 (8的右边有一空格)追问

想再问个问题(O_O), 转换说明符 与 格式说明符 有什么区别?感觉一样

追答

不一样,一个以\号开头,一个以%开头

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-18
不足两位时在右边被空格,达到或超过两位时,没意义。
第2个回答  2016-01-18
???运行结果怎么是12345追问

额,确实是

相似回答