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追问

额,确实是

C语言中,比如 int a=12345; printf(”%2d\\n”, a)%2d\\n 中2表
因此用%2d输出12345仍是12345(按实际长度输出),用%2d输出8将是 8(8的左边有一空格)补充,如果%d中间用的是负数,输出时将使用左对齐的方式,因此用%-2d输出8将是8 (8的右边有一空格)

这个C语言程序 int a=1234; printf("%2d",a); 输出1234 但1234超过了...
a=12时,输出:12 a=123时,输出:123 说明:a=1时,a只有1位数,因此在前面补充空格到2位(右对齐,如想要在后面补充空格的,即左对齐,只须把“%2d”改为“%-2d”即可);a=12时,a刚好是2位数,直接输出便是了;a=123时,a有3位数,超过了提供的空间,但并没有缩减!!!还是直接输出了。

int a=1234;printf("- ",a);
在C语言编程中,"int a=1234;"定义了一个整型变量a,初始值为1234。"printf(\\"-\\",a);"则使用printf函数输出字符\\"-\\"和变量a的值。输出结果为"1234-"。其中\\"-\\"字符由printf函数直接输出,而1234则是变量a的值。整型变量a的值1234在输出时,使用默认的格式符"%d",它会根据变量的实际宽...

一道C语言的题,, main() {int a=1234;printf(“%2d\\n",a); }
如果a=1;printf(“%2d\\n",a)则输出的是空格和1,若是%3则是2个空格和1 若a=12;printf(“%3d\\n",a)输出了空格和12 我想这样你就对%数字多少有了解了吧 但如果你的数超过%的数~则照常输出,就像你平时%d一样~其实也是%1d 不超过%的数,则多出的则用空格表示 ...

%2d 在c语言中是什么意思
在C语言中,%2d被称为格式化输出控制符之一,其中的数字2代表输出的最小宽度。当输出的数字不够2位数时,会在输出前面自动补上空格或0,以补足输出的最小宽度。这个特性在输出表格或其他需要对数值进行排版的场合非常有用,能够使输出的表现更加美观整洁。2d在C语言中广泛应用于格式化输出,尤其是在需要...

C语言 printf("%02d\\n", b);中的%02d是什么意思?
printf格式化输出;要理解%02d得先理解%2d;%2d的意思就是如果数是个位数,比如4;那么输出是 4;即4前面有一个空格;而%02d的意思就是那个空格部分用0补;如果%5d的输出4是: 4同理如果用%05的输出4就是00004

c语言一段程序,输出结果是什么,请别忘解释一下
int a = 1234; \/\/定义整型变量a,值为1234float b = 123.456; \/\/定义浮点型变量b,值为123.456double c = 12345.54321; \/\/定义双精度变量c,值为12345.54321printf("%2d,%2.1f,%2.1f", a, b, c); \/\/输出宽度为2的整型值a,宽度不满2,左边补空格 \/\/输出宽度为2,精确度为...

c 语言中%2d(%2d%%)什么意思
2d就是宽度2 输出整数 2d%% 就是输出宽度2整数 后面带个%号 %% 输出就是

C语言中printf("%2d",012);结果是什么?为什么?
结果是10,以0开头的是八进制,八进制的012为十进制的10,%2d表示以十进制显示,位宽为2位,所以是10

c语言中输入12345怎样只得到12和45?
c语言中输入12345怎样只得到12和45:int a,b;scanf("%2d%*c%2d",&a,&b);printf("a=%d\\tb=%d\\n",a,b);

相似回答