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

  免費注冊 查看新帖 |

Chinaunix

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

遇到很神奇的const初始化問題 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-10-08 16:33 |只看該作者 |倒序瀏覽
代碼如下
  1. #include <stdio.h>

  2. int a = 12;
  3. const int b = a;

  4. int main()
  5. {
  6. printf("%d", b);
  7. return 0;
  8. }
復制代碼
很奇怪gcc 4.4.3 編譯,竟然提示 初始設定元素不是常量 錯誤,
vs2005確沒問題。這個感覺gcc很不合理。
莫非標準不一樣? C89 C99?
C89沒見 所謂的這個規(guī)定呀?

論壇徽章:
0
2 [報告]
發(fā)表于 2010-10-08 16:36 |只看該作者
const 初始化時應該賦常量。

論壇徽章:
0
3 [報告]
發(fā)表于 2010-10-08 16:39 |只看該作者
對const,c和c++的處理不同。換成c++,用g++就好了。

論壇徽章:
1
CU十二周年紀念徽章
日期:2013-10-24 15:41:34
4 [報告]
發(fā)表于 2010-10-08 16:39 |只看該作者
不同的編譯器對標準的支持和實現不一樣。

論壇徽章:
0
5 [報告]
發(fā)表于 2010-10-08 16:41 |只看該作者
[dave@dave ~]$ gcc -std=c89 test.c
test.c:5: 錯誤:初始值設定元素不是常量
[dave@dave ~]$ gcc -std=c99 test.c
test.c:5: 錯誤:初始值設定元素不是常量

論壇徽章:
0
6 [報告]
發(fā)表于 2010-10-08 16:42 |只看該作者
回復 3# donglongchao

是,換成g++就好了。
還有比較惡心的就是,
  1. #include <stdio.h>

  2. int c =7;
  3. int b = 12 + c;

  4. int main()
  5. {
  6.   printf("%d", b);

  7.   return 0;
  8. }
復制代碼
非const,也提示 所謂的非常量初始化。。
暈呀。。。

論壇徽章:
0
7 [報告]
發(fā)表于 2010-10-08 16:45 |只看該作者
全局變量初始化也應該用常量。

論壇徽章:
0
8 [報告]
發(fā)表于 2010-10-08 16:46 |只看該作者
所以說嘛,++是很重要的。++幫你把c悄悄地換成了const你不知道而已

論壇徽章:
0
9 [報告]
發(fā)表于 2010-10-08 16:47 |只看該作者
說錯了,++悄悄幫你把c換成了12而已

論壇徽章:
0
10 [報告]
發(fā)表于 2010-10-08 16:51 |只看該作者
回復 7# zhangsuozhu

哎,確實呀,看來支持c++編譯器的都做了好多工作呀。還以為自己寫的程序正確呢,呵呵
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP