我想在C中定義不同的字符串數組,然後它可以是例如選擇取決於一些其它值,即像以下:如何在C中選擇一個字符串數組?
char foo[][10] = {"Snakes", "on", "a", "Plane"};
char bar[][10] = {"Fishes", "in", "a", "Lake"};
char *choice;
if (flag == 1) {
choice = &foo;
} else if (flag == 2) {
choice = &bar;
}
printf("%s%s\n", choice[0] , choice[1]);
萬一
flag
預期的結果是1:
Snakeson
萬一flag
預期的結果是2:
Fishesin
但上面的代碼給出segmentation fault
錯誤,而我嘗試了不同的defini char
,即char*
和char**
。如何做到這一點?有沒有在這個問題一個很好的教程,即在指針,數組,什麼foo
到底是在上面的例子...
請參閱printf的手冊頁。嘗試使用printf(「%s%s \ n」,選擇[0],選擇[1]); –
與警告編譯(gcc:'-Wall') –
@Maneolin - 你是對的 - 我更新了代碼。但是錯誤仍然是一樣的('段錯誤')。 – Alex