[問題] 宣告陣列大小可以用變數?
看到前幾篇的內容感到狐疑
記得以前學的都是若你沒先#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
推
05/08 10:32, , 1F
05/08 10:32, 1F
→
05/08 10:32, , 2F
05/08 10:32, 2F
推
05/08 10:37, , 3F
05/08 10:37, 3F
→
05/08 10:38, , 4F
05/08 10:38, 4F
→
05/08 10:38, , 5F
05/08 10:38, 5F
推
05/08 10:47, , 6F
05/08 10:47, 6F
→
05/08 10:48, , 7F
05/08 10:48, 7F
→
05/08 10:48, , 8F
05/08 10:48, 8F
→
05/08 10:50, , 9F
05/08 10:50, 9F
→
05/08 10:53, , 10F
05/08 10:53, 10F
推
05/08 11:59, , 11F
05/08 11:59, 11F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章