C语言关于编译器中提示的错误该如何理解?

第一个问题:这段代码编译器中提到的char*型是不是指get(m)的返回值为char*型?看网上说char*型与int型都占4个字节,是不是也可以将char*型看作是in... 第一个问题:这段代码编译器中提到的char*型是不是指get(m)的返回值为char*型?看网上说char*型与int型都占4个字节,是不是也可以将char*型看作是int型?第二个问题:编译器中提到的int型是不是指"abc"的类型为int型?怎么理解"abc"它的类型?第三个问题:编译器提到形参和实参1的类型不同,形参是char*型,实参1的返回值不也是char*型吗?怎么会类型不同?请就以上3个问题给出相应的解答,谢谢
#include <stdio.h>
int _strcmp(char *s1, char *s2) {
for (; *s1 && *s2 && *s1==*s2; ++s1,++s2) NULL;
return *s1==*s2 ? 0 : *s1>*s2 ? 1 : -1; }
main()
{
char m[5];
if (_strcmp(gets(m),"abc") == 0)
printf("a\n");
else
printf("b\n");
}
展开
 我来答
heptnaol
2017-07-15 · TA获得超过7259个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1739万
展开全部
人家明明说的是参数1类型错误
gets返回值是int,"abc"的类型,应该是char const * const
更多追问追答
追问
gets的返回值不是char*型吗?为何是int型?
另外char const* const是什么类型,这和char*型有什么差别?
追答
就不是char *,没有为什么,请参见头文件的原型声明。
指向const char的const指针
金山毒霸
2024-10-31 广告
大部分系统错误,是因为某些DLL文件丢失造成的,比如未安装DirectX9或DirectX 9.0组件已损坏、缺少Visual C ++库、未安装.net库。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的电脑一般都... 点击进入详情页
本回答由金山毒霸提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式