任何人都可以向我解释我不明白的地方吗?传递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