printf("%%d,%%%d/n",x,y)

intx
x=11/3;y=5;
printf("%%d,%%%d/n",x,y)

为什么输出的是%d %3,不是%3 %%5呢?

因为前面的%%会输出一个百分号,然后再输出一个字符d和一个逗号,后面的%%会再输出一个百分号,后面的%d才是格式控制符,对应于变量列表中的第一个变量x
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-07-31
应该是printf("%%%d,%%%d/n",x,y)

%%是%的转义输出,也就是在屏幕上得到一个%

你想得到百分数可以这样 %%%d 前两个表示百分数,后面的%d是输出整形的格式符,由于你的语句里只有一个%d,所以y没有被表达出来,所以结果是%d,%3

printf("%%d,%%%d\/n",x,y)
因为前面的%%会输出一个百分号,然后再输出一个字符d和一个逗号,后面的%%会再输出一个百分号,后面的%d才是格式控制符,对应于变量列表中的第一个变量x

printf("%%d,%%%d\/n",x,y)
无法单独作为字符输出(因为其特殊性),如果想要输出%则可以用%%的形式,你的printf中从左向右两个%一组,前两个和第三、四分别表示一个%字符,第五个则是和d组成了%d表示一个整形变量x的值。

...{int x,y; x=11\/3;y=5; printf("%%d,%%%d\\n",x,y); } 这个结果为什 ...
代表 %,所以"%%d"输出的是 字符"%d”而"%%%d"相当于 先输出一个% 然后把 输出变量x的值。y没有输出。如果你想输出%3, %5 可以这么写 include <stdio.h> main(){int x,y;x=11\/3;y=5;printf("%%%d,%%%d\\n",x,y);}

...{int x;x=11\/3;int y=5;printf("%%d,%%%d\\n",x,y);}求输出为什么是%...
输出%,所以%%d输出%d d,前两个百分号输出%后边的%d输出x的值3,整个输出是%3 x的值:x是整型数据11\/3仅输出结果的整数部分

printf( ” x=%%d,y=%%d\\n ” ,x,y)的执行结果?
输出结果:x=%d,y=%d 原因是,%%将会被处理为%作为输出,对于后面的d来讲已经没有对它进行转义的%了

printf("%d%%%d=%d\\n",x,y,x%y); 为什么有三个%,为什么不是printf...
你这个程序是对的,语法和输出都是没问题的啊 是计算机理解为一种变量符号,当输入%%的时候第一个会被过滤掉,而第二个理解为变量类型,%就被理解为%符号,而++,--这些都是计算机有定义的自增减操作类型,两者没有矛盾,而且%是变量符号,并没有++,--这种变量呀 ...

c语言中%%d和%%%d分别是什么意思
1、printf("%%d"); \/\/ 会输出%d。2、因为%用来作格式符,如%c,%与c搭配表示输出一个字符,%d表示输出一个整数。3、那么怎么输出%呢?即用%%表示输出一个%。常用的printf函数格式字符:1、d格式字符。用来输出十进制整数。2、o格式符,以八进制整型式输出整数。3、x格式符,以十六进制数形式...

C语言的printf(“”);里面可以输入多少个数字或字符?
可以输入有限个数字或字符;类似于printf("Please input a character string:\\n");(长度不限)和printf("%d",x);和printf("%-5d",x);(-表示左对齐)和printf("%.2f",y);(.表示小数点后取两位)和printf("%d%s%f",x,y,z);\/\/(还可以增加变量个数)都是可以的 ...

C语言中%d的%,d分别表示什么?
%c---输出一个字符;%o---输出一个八进制的整型数,前面不带0;%#o---输出一个八进制的整型数,前面带0;%x---输出一个十六进制的整型数,前面不带0x;%#x---输出一个十六进制的整型数,前面带0x, 如果x大写,则显示的时候也是大写。%u---不带符号的十进制整数。%%---输出一个%....

C语言中"%d"和"%d\\n"有什么不同?
为了加深理解,我们通过几个例子来了解:例如:int i=4;printf("%d\\n",i);\/\/此条输出结果为:4 printf("%%d\\n");\/\/此条语句输出结果为:%d printf("%%%d\\n",i,i);\/\/此条语句输出结果为:%4 上述代码执行后,输出结果为:4%d%4 ...

相似回答
大家正在搜