原帖由 m582445672 于 2006-9-15 20:15 发表
main()
{ int a=6, b=7 , c=8 d ;
d=a+++++b+c+++a+++b+++++a ;
printf("%d/n", d);
}
我是个C语言的初学者~~~请问哈子~~!~这个垃圾程序错了几点~~!~为什么错了```xi ...
原帖由 flw 于 2006-9-15 20:19 发表
我只看到你把“基础”写成了“基初”,后面还带了两个不明意义的符号(``)
BTW:汉语言都学不好,很难学好 C 语言的。
原帖由 flw 于 2006-9-15 02:19 发表
我只看到你把“基础”写成了“基初”,后面还带了两个不明意义的符号(``)
BTW:汉语言都学不好,很难学好 C 语言的。
原帖由 frstq 于 2006-9-15 02:31 发表
知道i++和++i不同就行了,为什么要这样写呢,这是需要避免的写法。程序不但是给机器看的,还要给人看,简单就好。
原帖由 m582445672 于 2006-9-16 13:54 发表
基础的初学者 简称" 基初"
~~还有那(``)是表示学这蛮辛苦~~!~~!~~那是汗水~~
原帖由 neo_yang 于 2006-9-16 15:09 发表
这是一个c中称做最长符号名的陷阱,在实际编程中最好是不要这么做.编译器在进行编译时会有一个原则,就是组合出最长的符号.
在这之中还有一个就是由于a+++++b会被组合成(a++) + (++b),为什么呢?是因为a++后返回是r ...
原帖由 paloffice 于 2006-9-16 17:30 发表
c语言里面运算符的结合都是遵循“大嘴法”,所谓“大嘴法”就是运算符总是结合到不能结合为止。例如:a+++++b,结合出来就是:((a++)++)+b
原帖由 gxguax 于 2006-9-16 19:03 发表
如果哪位的程序是这样写出来的,我想没人会敢要.
请不要就语言而语言.
请做写有意义的code.
这样的题做出来又有什么意义呢!?
原帖由 safedead 于 2006-9-16 17:38 发表
看到楼主的帖子
我立刻想起CU的一句名言: 不要挑战编译器的能力
原帖由 bigapple2008 于 2006-9-16 00:15 发表
我是compiler的话,得辞职了
原帖由 decwang 于 2006-9-16 21:08 发表
不要搞的这么啰嗦
原帖由 dspringer 于 2006-9-16 23:22 发表
int a=6 ,b=7,c=8,d ;
d=(a++)+(++b)+(c++)+(a++)+(b++)+(++a) ; 这样的式子从左到右算
6 8 8 "6" 8 9 =45
原帖由 hypoz 于 2006-9-15 22:07 发表
转意字符?"\"? "/"?
main()
{
int a=2,b=3,c=4,d;
d=(a++)+(++b)+(c++)+a+++(b++)+(++a);
printf("%d\n",d);
}
左结合,老老实实写,“+”多余3个系统就会出错了。
原帖由 m582445672 于 2006-9-16 19:40 发表
main()
{
int a=2,b=3,c=4,d;
d=(a++)+(++b)+(c++)+a+++(b++)+(++a);
printf("%d\n",d);
}
这些东西需要加#include<stdio.h> 吗???
跟本就没有用到stdio.h里面的东西啊`~~~
这道题,我运行的结果是为19
但是我觉得结果应该为18
2+4+4+2+3+3=18?难道是我哪里算错了???
int main()
{
int a=2,b=3,c=4,d;
d=(a++)+(++b)+(c++)+(a++)+(b++)+(++a);
printf("%d\n",d);
return 0;
}
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |