C语言出现这个错误该怎么办?

如题,*p='\0';应该放在哪个位置?在别人那里这样写就可以运行,我是不是应该换个编译器?

img

我怀疑是你的上一行的分号写成中文全角的了。

那句不写也没啥大问题

【以下回答由 GPT 生成】

根据你提供的代码片段和错误信息,我可以给你一些解决方法和建议。

C2065: 未声明的标识符 这个错误表明你使用了一个未声明的变量或函数。在你的代码中,未声明的标识符可能是strchr函数。这个函数需要包含string.h头文件,所以你需要添加如下一行代码到你的代码开头:

#include<string.h>

C4047: 函数之间的指针类型不同 这个警告表明你在函数调用中使用了不匹配的指针类型。在你的代码中,可能是由于strchr函数返回的指针类型与char*类型不匹配导致的。你可以将char*类型的指针转换为正确的类型,例如:

char* p = (char*)strchr(s, '1');

C4024: strcpy未声明 这个警告表明strcpy函数未声明。在你的代码中,strcpy函数需要包含string.h头文件,所以你需要添加如下一行代码到你的代码开头:

#include<string.h>

C2065: 形参和实参之间的类型不同 这个错误表明你在函数调用中使用了不匹配的参数类型。在你的代码中,可能是由于printf函数中的%s格式符与t变量的类型不匹配导致的。你可以将t变量的类型转换为正确的类型,例如:

printf("%s\n", (char*)t);

C4022: 指针与实参不匹配 这个警告表明你在函数调用中使用了不匹配的指针类型。在你的代码中,可能是由于free函数的参数类型与t变量的指针类型不匹配导致的。你可以将t变量的指针类型转换为正确的类型,例如:

free((void*)t);

关于编译器选择的建议:

Visual C++ 2010学习版是一个过时的编译器版本了,而且它可能不完全符合C语言的最新标准。如果你正在学习C语言,我建议你使用一个更现代的编译器,例如GCC、Clang或者Visual Studio 2019。这些编译器都有更好的兼容性和更好的错误提示能力。

希望这些解决方法和建议可以帮助你解决问题!如果你还有其他问题,请随时提问。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^