c语言问题
#include <stdio.h>void main()
{
long x, y;
int a, b, c, d;
x = 5;
y = 6;
a = 7;
b = 8;
c = x + a;
d = y + b;
printf("c=x+a=%d,d=y+b=%b\n",c,d);
}
为什么结果是c=12 d=y+b=b 后面的d不是14
输出的y是%b。。。 不好意思是d=。。。 Ghitout 发表于 2012-9-15 22:59 static/image/common/back.gif
不好意思是d=。。。
我想知道的就是为什么执行后D的值不是14而是y+b=b Ghitout 发表于 2012-9-15 22:59 static/image/common/back.gif
不好意思是d=。。。
为什么执行后d的值不是14而是y+b=b 格式字符没有b。 Ghitout 发表于 2012-9-15 23:22 static/image/common/back.gif
格式字符没有b。
能说详细点么
把%b换成%d就行了,你粗心写错了 #include <stdio.h>
void main()
{
long x, y;
int a, b, c, d;
x = 5;
y = 6;
a = 7;
b = 8;
c = x + a;
d = y + b;
printf("c=x+a=%d,d=y+b=%d\n",c,d);
} 最后一句:
printf("c=x+a=%d,d=y+b=%b\n",c,d);
\n前面的应该是%d,不是%b,格式符号%后面跟的字母有特殊意义,没有跟b的。所以printf函数就只打印了一个字母b。 输出格式问题,楼上的正解!!! 嗯,楼上说的对 呵呵,楼主太粗心了~~ 粗心大意。。该打PP。。。检错的时候语法是首先是重点 大家来打楼主PP:lol 初学莪湜汏騙ふ 发表于 2012-9-15 23:31 static/image/common/back.gif
能说详细点么
你去试打printf("y=%b,x=%%b");
没有%b这样的输出格式。编译时跳过第一个%显示b(%b)。 因为printf是标准格式输出函数,你要想输出d=y+b=14,前面定义的格式必须改为d=y+b=%d printf("c=x+a=%d,d=y+b=%b\n",c,d);中d=y+b=%b是用的%b,如果用%d就等于14,%b没听说过 {:1_1:} 正确代码
#include <stdio.h>
void main()
{
long x, y;
int a, b, c, d;
x = 5;
y = 6;
a = 7;
b = 8;
c = x + a;
d = y + b;
printf("c=x+a=%d,d=y+b=%d\n",c,d);
}
printf("c=x+a=%d,d=y+b=%b\n",c,d);代码这行中,第二个¥后面应该是d,楼主打成了b,所以出现了那样的结果。
页:
[1]