問題の周りに頭を抱えているように見えません。私は何が欠けていますか?Cの配列ポインタに値を出力
これはARGVのすべての値を出力します
int main(int argc, char *argv[]) {
while (*argv) {
printf("argv[] is: %s\n", *argv);
++argv;
}
return 0;
}
次考えてみましょう。だから、このよう./example arg1 arg2
などのコマンドラインは出力以下になります。
`argv[] is: ./example`
`argv[] is: arg1`
`argv[] is: arg2`
は今(私はとのトラブルを抱えていた)次の点を考慮してください
int main(void) {
char *days[] = {
"Sunday",
"Monday",
"Tuesday"
};
while (*days) {
printf("day is %s\n", *days);
*days++;
}
return 0;
}
私がコンパイルしようとすると、私はエラーcannot increment value of type 'char *[3]'
*days++
を(*days)++
に変更すると、コンパイルされます。もし私がそれを実行すると、それは永遠に実行され、最終的にはbus error
で失敗します。
ただし、days[]
のすべての値を繰り返すわけではありません。私は、効果のない日配列の'\0'
と"\0"
という形でNullポインタを入れようとしました。
私には何が欠けていますか?
http://ideone.com/GM4wIN – BLUEPIXY
'++ ARGVを参照してください;' '*日++対;'! – alk