gpt4 book ai didi

c - 我该怎么做才能停止错误 "expected expression before ‘char’“?

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:38 56 4
gpt4 key购买 nike

我正在编译我的工作,但无论我如何编辑我的代码,这个错误都会不断出现:

expected expression before ‘char’

format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’

从第二个错误开始,我尝试使用类型转换,但问题仍然存在。有谁知道怎么做?这是我的代码的一部分:

while ( char my_wget (char web_address[BUFLEN]) != EOF ) {
printf ("%s", (char) web_address[BUFLEN]);

最佳答案

因为您在编写 char 时遇到了语法错误,而 char 是不允许的。

也许你想到了:

int ch;
char web_address[BUFLEN];

while ((ch = my_wget(web_address)) != EOF)
printf("%s\n", web_address);

有了 my_wget() 的正确声明(例如 extern int my_wget(char *buffer);),应该可以编译。您不能在任何地方声明变量。

第二个错误是因为 web_address[BUFLEN] 是一个字符(当然在我的代码中;它似乎也在你的代码中,因为编译器设法充分识别类型以生成错误).如果你像我一样声明它,它也是超出数组末尾的一个。将 char 值(可能是 8 位数量)视为地址(指针;可能是 32 位或 64 位数量)是错误的,这就是编译器提示的原因。

关于c - 我该怎么做才能停止错误 "expected expression before ‘char’“?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15353870/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com