ChinaUnix.net
相关文章推荐:

函数参数 执行 顺序

我在GCC里编写如下代码: int main(int argc, char *argv[]) { printf ("hello\n"); //第一个printf int i; i = 0; while(1) { if(i<10) { system("ls"); //system i++; } else break; } printf ("\nend\n"); ...

by 灰菲湮灭 - C/C++ - 2009-01-15 13:19:04 阅读(2677) 回复(10)

相关讨论

我记得好像看到某个文章里面说C语言里面的函数参数压栈顺序与求值顺序是两回事。 压栈顺序是从右到左,而求值顺序则是undefined的,由编译器实现决定,例如 [code] int g(); int h(); int f(int c, int b); ... f(g(), h()); --(1) ... [/code] (1)处f函数调用,先计算顺序g,还是先计算h这个由编译器决定。而参数的压栈则是固定的由右到左,现将h的结果压栈,然后g的结果压栈。 因为手上没有什么编译器,不太好测试。所以...

by angelanpan - C/C++ - 2011-04-01 21:20:37 阅读(17754) 回复(35)

也许在不同的编译环境下结果不同。 编译环境:我是在VS2005上编译的。如果在别的编译器上结果不同,大家可以列出来。 代码: void TT(int i, int j) { printf("i=%d, j=%d\n", i, j); } void Test() { int i=0; TT(i++, i++); i=0; TT(i++, ++i); i=0; TT(++i, i++); i=0; TT(++i, ++i); } 答案: 请先思考了再看。反选下面的文本即可看见。 BEGIN i=1,j=0 i=1...

by nkfeiyang - C/C++ - 2009-01-14 17:37:20 阅读(1195) 回复(1)

unix下,线程的执行函数好像不能带参数,有没有什么办法呢?

by arenxl - C/C++ - 2007-03-27 10:30:22 阅读(3407) 回复(7)

刚学习了SQL的执行顺序,感觉非常受益,虽然自己学了两年SQL了,但没考虑过这个问题。 a. select.......... b. from ........ c. where....... d.having....... e.group by..... d.order by...... SQL的实际执行顺序为:dcedfa。

by scott_0620 - Oracle - 2009-07-06 16:36:59 阅读(1487) 回复(4)

// 执行 SQL 查询 mysql_query("drop table if EXISTS union_showdata;"); mysql_query("create table union_showdata SELECT a.`guid`, SUBSTRING_INDEX(SUBSTRING_INDEX(a.`referer`,'winkee_ad_medid%3D',-1),'%26',1) as medid from showdata as a where a.referer like '%vipunion.winkee.net%' and SUBSTR(a.`addtime`,1,10) =DATE_FORMAT(NOW()-INTERVAL 1 DAY,'%Y-%m-%d') group by a.guid ;"); $sql = "select *...

by 于仁洁 - PHP - 2008-12-02 23:50:38 阅读(1726) 回复(3)

判断目录是否存在如果不存在输出no such file然后退出当前脚本 test -d /home/HiRes$address/$source||echo "no such file"&&exit 上面代码不论目录是否存在都会退出当前脚本 test -d /home/HiRes$address/$source||(echo "no such file"&&exit) 上面代码不论目录是否存在都不会退出当前脚本

by young1986 - Shell - 2008-09-17 17:58:35 阅读(1307) 回复(7)

[color="#ff0000"]使用&&:     格式:      命令1 && 命令2     说明:      只有命令1执行后返回真(返回0),命令2才会执行     例子:      cp /apps/bin /apps/dev/bin  &&  rm -r /apps/bin 只有全部复制成功才删除此目录 [color="#ff0000"]使用||:     格式:  ...

by zhm_sunboy - Solaris文档中心 - 2008-09-04 15:11:10 阅读(1589) 回复(0)

#!/bin/sh #bak for i in 1 2 3 4 5 6 7 8 9 ;do echo -n "$i" sleep 1 done& echo for i in 10 11 12 13 14 15 16 17 18 19;do echo -n "$i " sleep 1 done echo 简单的for循环,可是执行的结果另人费解!! [root@zlls ~]# ./bak.sh 1 10 11 212 313 414 515 616 717 818 919 [root@zlls ~]# ./bak.sh 1 10 211 312 413 514 615 716 817 918 19 [root@zlls ~]# [root...

by webyuhang - Shell - 2006-07-25 16:33:17 阅读(1733) 回复(10)

1 父类的非静态数据类型声明 2 父类的静态数据类型声明 3 父类的构造函数 4 子类的非静态数据类型声明 5 子类的静态数据类型声明 6 子类的构造函数 7 子类的main函数 大家按照执行顺序给派派序

by wuri11 - Java - 2006-04-21 12:12:20 阅读(1158) 回复(3)

1 private void method(){ 2 3 Thread thread1 = new thread(){ 4 protected void run(){ 5 ...... 6 } 7 } 8 9 thread1.start(); 10 11 if (var){ 12 ..... 13 } 14 ...... 15 } 怎么样才能保证线程thread1已经执行完了,才继续执行剩余的程序(11行以后)

by icesummit - Java - 2006-02-27 14:43:33 阅读(1647) 回复(6)