C语言,这个的结果为什么 是33,怎么算的?具体说明 一下~~

main()
{
int a=3,b=4,c=5,d=2;
if(a<b)
if(b<c)
printf("%d",d++);
else
printf("%d",++d+1):
printf("%d\n",d);
}

第1个回答  2012-04-16
main()
{
int a=3,b=4,c=5,d=2;
if(a<b) 条件为真执行下一句if
if(b<c)条件为真执行下一句printf
printf("%d",d++);输出2,语句执行后d=3;这句等价于printf(("%d",d);d++;
else(与第二if为一组条件是真所以不执行)
printf("%d",++d+1);
printf("%d\n",d);最后执行输出3;
}本回答被网友采纳
第2个回答  2012-04-16
第一个输出的是2,由第一个printf语句输出的,第二个3是由第三句printf语句输出的。如果你第一个printf语句改成printf("%d\n",d++);你的输出就是两行,第一行是2,第二行是3
我刚调试了这个程序答案是23.
第3个回答  2012-04-16
答案是23吧
先进的是第一个printf,打印d++为2,打印完成后d=3
再执行最后一个printf 打印d 为3
第4个回答  2012-04-16
编译器不同

C语言,这个的结果为什么 是33,怎么算的?具体说明 一下~~
{ int a=3,b=4,c=5,d=2;if(a<b) 条件为真执行下一句if if(b<c)条件为真执行下一句printf printf("%d",d++);输出2,语句执行后d=3;这句等价于printf(("%d",d);d++;else(与第二if为一组条件是真所以不执行)printf("%d",++d+1);printf("%d\\n",d);最后执行输出3;} ...

这个C语言的运行结果为什么是这样的呢~
我们用printf("c=%d\\n",c);将C用int表示出来,启用 printf("c=%d\\n",c);这一句,看看scanf()函数赋给C到底是什么,结果是 c=10 ,ASCII值为10是什么?换行即\\n.对了,我们每击打一下"Enter"键,向键盘缓冲区发去一个“回车”(\\r),一个“换行"(\\n),在这里 \\r被scanf()函数处理掉了(姑且这么认为...

请问一下大佬们,这道C语言编程题我为什么错,还有这些监测点的划分依据是...
这段代码的问题在于图中红色框内jc数据类型不合适,不能定义为int,需为double。解释:C语言中一般int为32位,最大只能表示12的阶乘,超过12就会产生溢出,而题目中明确说明了数据会在double范围内,就是有可能超过int所表示范围。需要改为double类型。监测点划分依据:Cmn表示从n中选m个有多少情况,通...

C语言中,下面案例c的值为什么输出的是2.000000?不应该是0吗?
在C语言代码中,变量`c`的值输出为2.000000,而不是预期中的0,原因在于代码中存在语法错误,导致`c`的计算方式并非如提问者所设想的那样。原代码中的错误在于`c=(float)(a+b)2;`这一行。这里的意图可能是将`(a+b)`的结果乘以2后再转换为`float`类型,但由于缺少乘号`*`,编译器实际上将...

用C语言编程程序没有错误为什么结果不对
没发现他的错误而已,而既然运行结果是错误的,那就是说明一点 可能是你的算法设计的不当,不能正确的解决问题,这样发生的错误 是运行期错误,在编译连接的过程不会出错的,不过幸好,编译器也为我们 提供了一些解决类似运行期错误的一些调试工具,通过debug,进行单步调 试下,观察变量值,看看是不是你想要的...

c语言1<<3的结果是多少,具体怎么算的,谢谢
C语言,这个程式的结果是多少,怎么算的?具体解释一下 a[2][3]的6个元素在记忆体中是连续存放的,所以如果一个int*指向这块记忆体的开始地址,那就可以把这块记忆体当作一个有6个元素的一维阵列看待 那么(*p)*(*(p+2))*(*(p+4)) 就是1*3*5=15 C语言这个输出的结果是多少谢谢啦 ...

C语言 答案?为什么?关于sizeof()运算符详细说一下
让我们先看一个结构体:struct S1{char c;int i;};问sizeof(s1)等于多少聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设置得到的结果为8。Why为什么受伤的总是我请不要沮丧,我们来好好琢磨一下sizeof...

c语言输出问题,37题,求大神详细解答一下*的作用,以及最后输出结果是怎么...
“%c”表示按字符型输出等。注:使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左 5 对于*的作用,因为在“”因此*没有具体的作用,因为不属于格式控制字符串,(1)当*两个变量之间是乘的意思,比如 a = 3;b = 4; a...

...我做的是原题啊。。悲剧的只拿5分。。为什么 有人知道吗?
即得分为33分(不是4舍5入,是取整)说明: 3级不考输出,因为输出跟得分息息相关,每道题都有专用的输出函数实现文件输出,而100道题要我们做的,仅仅是计算而已。 也就是说,只要是在编程过程中,严格按照题目要求计算,绝对不可能出现因为输出格式不同而不给分的情况。除非有些细节没考虑到,即程序存在逻辑错误,使得...

C语言中错误的整型变量新人麻烦详细说明一下谢谢
在了解完常量之后我们接下来就是了解一下C语言中的变量。在C语言中变量其实是程序可操作的存储区的名称,就像是你我的名字一样,代表我们这个人,而C的变量就是代表了储存区。并且每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。

相似回答