以下是引用zhanghuan_10在2007-1-31 22:17:02的发言:
呵呵,这个我就不知道了!我的复制过去变成了蓝色了,既然这程序没错就帮着看看为什么运行结果是这个。我不知道codeblocks在那里下载,你知道吗?用惯了!现在用的是c-free.
呵呵,这个我就不知道了!我的复制过去变成了蓝色了,既然这程序没错就帮着看看为什么运行结果是这个。我不知道codeblocks在那里下载,你知道吗?用惯了!现在用的是c-free.
我编译软件从来都是用VS的
过去用VB,现在用VC
以后学LINUX就打算用GCC了
听说MYTC很好用,我想去用用看看
C―FREE不是很好用
当然,前段时间我的VC坏了
搞笑的是什么函数都没问题
就是if和switch这两个出问题了
导致里边的函数莫名其妙全是错的
我还以为是我的算法错了呢
那天找了好久都没找到错在哪里
结果第二天帮别人写了IF的程序的时候才发现我坏了
笑死我了
----------------解决方案--------------------------------------------------------
呵呵!是挺有意思的!我们的学校的就是gcc,平时在学校做作业的时候用的就是它,我也只会这个了,在校外我找不到在那里下了,没办法先找一个别的了,这是郁闷呢!
----------------解决方案--------------------------------------------------------
我说的是自己分析,结果是怎么来的
----------------解决方案--------------------------------------------------------
我是这么想的!一个字符型的数据是相当于一个小整数!在内存当中是以二进制的形式存储的!无符号的值为254,在内存中是这样存储的00000010(我运行之后得到的),自然是2,有符号的以它的补码形式存储,是111111110,最高位表示符号位!
[此贴子已经被作者于2007-2-1 1:06:12编辑过]
----------------解决方案--------------------------------------------------------
呵呵,楼上的解释错啦。字符变量c占1B的存储空间,它的取值范围为-128~+127,赋值'\376'是八进制形式,即11111110B,对应十进制数为254。但以符号数补码形式表示,就成了-2。变量d是无符号字符型,所以它的值就是254。
另外,楼主的程序复制下来不能编译通过,是因为每个语句前面的空格是在中文(全角)下输入的,而全角字符是不能作为程序合法字符的。
----------------解决方案--------------------------------------------------------
谢谢了!
----------------解决方案--------------------------------------------------------
谢谢各位!我终于弄清楚了,集体的力量是伟大的,相互交流才会碰撞出思想的火花
----------------解决方案--------------------------------------------------------