以下代碼將數組作爲參數從主進程(稱爲process
)傳遞到另一個進程(稱爲subprocess
)。它模擬我想要在自己的代碼中實現的行爲:subprocess
用正確的字符串填充字符串數組,然後將它們返回到process
以進行...處理。通過參數(C語言)傳遞數組後刪除警告
#include <stdio.h>
#include <string.h>
void preprocess(char input[10][10]) {
int i;
char temp[10];
for (i = 0; i < 10; i++) {
scanf("%s", &temp);
strcpy(input[i], temp);
}
}
void process() {
int i;
char strings[10][10];
preprocess(strings);
for (i = 0; i < 10; i++) {
printf("%s\n", strings[i]);
}
}
int main() {
process();
return 0;
}
我的問題:這段代碼會產生一個警告,我不是100%確定的。有人可以幫我刪除警告並清除這個餌雷陷阱代碼嗎?
編輯:警告是:
warning: format '%s' expects argument of type 'char *', but argument 2 has type 'char (*)[10]'
什麼是警告? –
@Paul它是關於scanf預期的參數類型 - 它應該是char *而不是char(*)[10]。而且,人們在貶低正確的,誠實的問題時究竟是什麼? -_- – Chris
可能因爲你沒有在你的問題中包含警告,所以沒有人可以告訴你有什麼問題。 –