任何人都可以向我解釋我不明白的地方嗎?傳遞char數組作爲參數
我想將參數作爲「字符串」傳遞(我知道c中沒有字符串),以便以後可以使用該字符串與其他函數一樣,例如它必須作爲文件名傳遞。 但我不知道爲什麼它不會接受它或者它應該是什麼類型的
#include <stdio.h>
int main (int argc, char *argv[])
{
char *array= argv[0];
foo(*array);
}
void foo(char *array)
// notice the return type - it's a pointer
{
printf(array);
}
非常感謝!
取消引用數組,而傳遞給foo。所以如果它是一個c字符串文字,你只能傳遞第一個字節值 – Lefteris 2012-07-30 01:41:54
你應該避免像'printf(s)'這樣的表達式,因爲它是一個不受控制的格式字符串。 – md5 2012-07-30 06:09:01