1
我想掃描一個字符串並指向指向此掃描字符串的指針char
。scanf字符指針中的字符串
int main(int argc, char *argv[]) {
char *string;
scanf("%s",&string);
printf("%s\n",string);
}
但發出警告說
警告:格式 '%s' 的預期類型 '的char *' 的說法,但參數2 的類型爲 '字符**'
如何在沒有警告的情況下掃描char *
中的字符串。
編輯:它適用於下面的代碼與警告,我鑽到它以上是非常具體的。
int main(int argc, char *argv[]) {
int n = 2;
char *strings[2];
for(int i = 0; i < n; i++){
scanf("%s",&strings[i]);
printf("%s\n",&strings[i]);
}
}
所有的
首先爲字符串變量分配內存,然後只傳遞'string'而不是'&string'。 – Jeyaram
換句話說,當你還沒有想出如何分配內存緩衝區時,你正在問如何讓編譯器錯誤消失。 –
...或使用固定長度的字符串。這取決於你正在閱讀的計劃。 – Kusalananda