2016-08-18 12 views
0

このコードをTurbo Cで実行しようとしましたが、9行目で不正な初期化が行われました。 どうしましたか?Cプログラムの不正な初期化

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 

int names[] = {23,23,34}; 

int *nam[] = { names, names+1 , names +2}; 

char *temp; 

clrscr(); 


printf("%u" , (nam)); 

getch(); 
} 
+1

後でC99コンパイラを使用してください。 – BLUEPIXY

+3

TurboCは*古代*です。できればそれを避けてください。また、そこにはフリーのCコンパイラがたくさんあるので、現代の標準では最新のものです。古いTurboCよりも優れている多くの無料の完全な環境もあります。 –

+0

あなたの問題に関しては、初期化が有効なので、おそらくTurboCのクールークです。あなたのプログラムでは有効ではない他のものがありますが、***ポインタ***を間違ったフォーマットを使って 'nam'の最初の要素に出力するのと同じです。 –

答えて

3

この問題は、コンパイラーが時代遅れになっているために発生します。 17年前に廃止された古いC標準では、コンパイル時定数以外の配列では初期化できませんでした。

1999年にこのような多くの欠陥を修正した新しいC標準がありました。このコードをコンパイルするには、その言語の "C99"アップデートをサポートするコンパイラが必要です。

関連する問題