為什麼這篇陣列大小 變數鄉民發文收入到精華區:因為在陣列大小 變數這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者windincloud (雲淡風輕)看板C_and_CPP標題[問題] 宣告陣列大小可以用變數?...
看到前幾篇的內容感到狐疑
記得以前學的都是若你沒先#define a 5;
這樣就不能這樣開陣列 int array[a];
但是今天我使用
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,a;
scanf("%d",&a);
int b[a][a];
for(i=0;i<a;i++)
for(j=0;j<a;j++)
b[i][j]=i+j;
for(i=0;i<a;i++)
printf("%d\t",b[i][i]);
printf("\n");
return 0;
}
這樣卻可以ok?
這是那邊出問題?還是現在支援了?
----
話說我用gcc 3.4.6測的~
參數有下 -ansi
-std=c99
-std=c89
這樣都會過~ 且會執行
執行結果
[~/temp] > ./t
5
0 2 4 6 8
----
請朋友幫忙測
使用visual 2005 卻出現
error C2057: 必須是常數運算式
error C2466: 無法配置常數大小為 0 的陣列,常數必須為大於 0 的整數
--
這是gcc bug???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.188.117