我已经准备好了这个不适合我的简单例子
#include <stdio.h>
#include <stdlib.h>
FILE *fp;
char filename[] = "damy.txt";
void echo (char[] text)
{
fp = fopen(filename, "a");
fwrite(text, 1, strlen(text), fp);
fclose(fp);
printf(text);
}
int main ()
{
echo("foo bar");
return 0;
}
它应该写入命令窗口和文件。但是,这会产生编译错误 - 未声明echo()中使用的text
。 c需要另一个变量声明吗?
答案 0 :(得分:5)
使用char text[]
或char* text
,而不是char[] text
。
答案 1 :(得分:2)
该行:
void echo (char [] text )
应该是:
void echo (char text [])
你需要:
#include <string.h>
获取strlen
函数的声明。
答案 2 :(得分:0)
我很确定你应该做“char *”而不是“char []”
答案 3 :(得分:0)
显然语法
char[] var;
是一种javaism。在C中它应该是char var[]
。此外,您必须添加#include <string.h>