亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2220 | 回復(fù): 6
打印 上一主題 下一主題

這個(gè)程序用任何編譯器編譯都會得相同結(jié)果么? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-01-20 19:00 |只看該作者 |倒序?yàn)g覽
#include<stdio.h>
int a(int x, int y, int z)
{
    printf("%d,%d,%d\n",x,y,z);
    return (x+y+z);
}

int main()
{
    int x=1,y=2,z=3,t;
    t=a(z++,++y,x+y+z);
    printf("%d\n",t);
    printf("%d,%d,%d\n",x,y,z);
}


gcc下編譯后,運(yùn)行結(jié)果是:
3,3,6
12
1,3,4


gcc求函數(shù)參數(shù)是從后向前求值,有沒有從前向后的順序求參數(shù)的編譯器??
ANSI C規(guī)定了參數(shù)的求值順序了么?

[ 本帖最后由 pcbit 于 2008-1-20 19:07 編輯 ]

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2008-01-20 19:02 |只看該作者
應(yīng)該不會。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2008-01-20 19:03 |只看該作者
原帖由 cugb_cat 于 2008-1-20 19:02 發(fā)表
應(yīng)該不會。



為什么?
是不是ANSI C標(biāo)準(zhǔn)沒有規(guī)定函數(shù)參數(shù)的求值順序

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-01-20 19:14 |只看該作者
原帖由 pcbit 于 2008-1-20 19:03 發(fā)表



為什么?
是不是ANSI C標(biāo)準(zhǔn)沒有規(guī)定函數(shù)參數(shù)的求值順序

  1. gcc test24.c -Wall
  2. test24.c: In function ‘main’:
  3. test24.c:11: warning: operation on ‘z’ may be undefined
  4. test24.c:11: warning: operation on ‘y’ may be undefined
復(fù)制代碼
  1. rainlx@rainlx:~/Test$ gcc -v
  2. Using built-in specs.
  3. Target: i486-linux-gnu
  4. Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
  5. Thread model: posix
  6. gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
復(fù)制代碼

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2008-01-20 19:28 |只看該作者
原帖由 cugb_cat 于 2008-1-20 19:14 發(fā)表


gcc test24.c -Wall
test24.c: In function ‘main’:
test24.c:11: warning: operation on ‘z’ may be undefined
test24.c:11: warning: operation on ‘y’ may be undefined
rainlx@rainlx:~/Test ...


明白你的意思了.

[ 本帖最后由 pcbit 于 2008-1-20 19:33 編輯 ]

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2008-01-21 10:58 |只看該作者
1 ansi c已經(jīng)落伍了
2 google __cdecl
3 c標(biāo)準(zhǔn)只規(guī)定了語言的功能,沒有規(guī)定語言的實(shí)現(xiàn)
比如你可以把a(bǔ)+2翻成
inc eax
inc eax
也可以是
add eax,2
再加上編譯優(yōu)化的差別.....你可以認(rèn)為結(jié)果是一樣的,也可以認(rèn)為是不一樣的,取決于你看問題的角度。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2008-01-21 12:15 |只看該作者
原帖由 pcbit 于 2008-1-20 19:03 發(fā)表



為什么?
是不是ANSI C標(biāo)準(zhǔn)沒有規(guī)定函數(shù)參數(shù)的求值順序

函數(shù)參數(shù)的入棧出棧順序都是編譯器自己定義的,ansi c并沒有規(guī)定從左到右還是從右到左
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP