| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 811 人关注过本帖
标题:求高手指点……在此感激不尽
只看楼主 加入收藏
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
好吧

[ 本帖最后由 madfrogme 于 2012-6-18 23:24 编辑 ]

The quieter you become, the more you can hear
2012-06-18 23:22
邱威
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:136
专家分:351
注 册:2012-3-28
收藏
得分:0 
s=-a+++-b应该是s=-(a++)+(-b),这样在输出时a自加了一次为6;由于++在后面,所以a++在赋值时是5;s=-5+(-5)=-10;
2012-06-18 23:49
邱威
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:136
专家分:351
注 册:2012-3-28
收藏
得分:0 
程序中像这种情况最好是不要省掉括号,不然连编译器也不认得
2012-06-18 23:52
韩锋
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-17
收藏
得分:0 
回复 3楼 never_yzq
真不好意思,刚自学没太注意请多包涵。这是书上的例题……结果就是那样
  #include<stdio.h>
 void  main()
 {printf(“%f\n”,356.);
 printf(“%f\n”,356.f);
 
 运行后
 356.000000
     356.000000
 怎么第二个结果有4个空格?
 #include<stdio.h>
 void  main()
 
int a,b,c,s;
 a=5;b=5;c=11;
 s=-a+++-b;
 printf(“%d,%d,%d”,a,b,s);

结果为什么是9,5,-13而不是6,5,-10
2012-06-19 18:47
韩锋
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-17
收藏
得分:0 
回复 12楼 邱威
但书上是这样写的啊……
2012-06-19 18:48
韩锋
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-17
收藏
得分:0 
回复 9楼 xiaozilai
没多啊
2012-06-20 13:01
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
收藏
得分:0 
回复 4楼 震中地带
哈哈 我真是无语了 哈哈 震中兄 6 5 -10 哈哈
#include"stdio.h"
main()
{
int a;
a=5;
-a++;
printf("%d\n",a);
}
想想这个代码

喜欢睡觉 却经常熬夜
2012-06-20 14:56
雪狼MJ
Rank: 8Rank: 8
来 自:甘肃
等 级:蝙蝠侠
威 望:4
帖 子:267
专家分:853
注 册:2012-5-27
收藏
得分:0 
我的编译器上是a=6, b=5, s=-10
编译器把这个语句:s=-a+++-b;默认为s=(-(a++))+(-b)了
呵呵。。。。。


Edsger Dijkstra:算法+数据结构=程序
2012-06-20 16:30
wuzangtian
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-6-17
收藏
得分:0 
等效于:
s=-a+-b;
a=a+1;
2012-06-20 16:45
快速回复:求高手指点……在此感激不尽
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017750 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved