MorganZZL 发表于 2021-7-13 22:35:51

程序出了点问题,小白请求帮助

想求大神帮一下小白这个程序是怎么回事儿?
这个是C语言课后作业的第一个,我按那个程序码敲的,但出现了这个东西,我不知道该怎么解决。
请求帮忙,谢谢
int isCode(const char *filename)
{
    int length;
   
    length = strlen(filename);---------------这个出了问题,它显示 “ Implicit conversion loses integer precision: 'unsigned long' to 'int' “   
    if (!strcmp(filename + (length - 2), ".c"))
    {
      return 1;
    }
    else
    {
      return 0;
    }

人造人 发表于 2021-7-13 22:38:58

截个图看看

MorganZZL 发表于 2021-7-13 22:41:43

人造人 发表于 2021-7-13 22:38
截个图看看

怎么发图片👀他说让我发图片地址,但我的图片保存在桌面的啊

MorganZZL 发表于 2021-7-13 22:46:56

人造人 发表于 2021-7-13 22:38
截个图看看

https://imgtu.com/i/WE6fER

人造人 发表于 2021-7-13 22:50:56

MorganZZL 发表于 2021-7-13 22:46


看不到图片

MorganZZL 发表于 2021-7-13 22:52:49

人造人 发表于 2021-7-13 22:50
看不到图片

怎么办怎么办怎么办
新手发不了图片{:10_266:}

MorganZZL 发表于 2021-7-13 22:53:27

人造人 发表于 2021-7-13 22:50
看不到图片

https://imgtu.com/i/WE6fER
您可不可以试试把这个复制一下,谢谢

MorganZZL 发表于 2021-7-13 22:57:11

人造人 发表于 2021-7-13 22:50
看不到图片

https://imgtu.com/i/WE6fER
您可不可以试试复制一下这个,谢谢

MorganZZL 发表于 2021-7-13 22:58:32

图片。https://imgtu.com/i/WE6fER

Gacy 发表于 2021-7-13 23:04:32

MorganZZL 发表于 2021-7-13 22:52
怎么办怎么办怎么办
新手发不了图片

我就说嘛啊哈哈当初我新手我也发不了图片{:10_266:}

小超超超 发表于 2021-7-13 23:27:49

MorganZZL 发表于 2021-7-13 22:52
怎么办怎么办怎么办
新手发不了图片

去搜论坛搜,会有个图床的,新鱼油都是要用图床发的,我开始就是发不了然后去找才知道,或者我直接给你得了,imgtu.com

lin53 发表于 2021-7-14 00:34:17

强制转化一下就好了,length = (int)strlen(filename);

MorganZZL 发表于 2021-7-14 09:18:07

lin53 发表于 2021-7-14 00:34
强制转化一下就好了,length = (int)strlen(filename);

改了,没报任何错误,但是就是一直运作不起-------- “build failed”

人造人 发表于 2021-7-14 11:01:48

MorganZZL 发表于 2021-7-14 09:18
改了,没报任何错误,但是就是一直运作不起-------- “build failed”

所以要截图,我试过你的代码在我这边不会报这个警告,所以我猜不到发生了什么,所以才让你截图的

MorganZZL 发表于 2021-7-14 16:06:11

人造人 发表于 2021-7-14 11:01
所以要截图,我试过你的代码在我这边不会报这个警告,所以我猜不到发生了什么,所以才让你截图的

那这是什么情况?我用的Xcode,像之前如果有啥错误的话它会报出来,但这次我把全部改了他还是运行不了

人造人 发表于 2021-7-14 16:08:09

MorganZZL 发表于 2021-7-14 16:06
那这是什么情况?我用的Xcode,像之前如果有啥错误的话它会报出来,但这次我把全部改了他还是运行不了

我怎么可能知道,我看不到你的电脑屏幕呀,你得想办法让我看到你的电脑屏幕呀,截图

y星空y 发表于 2021-7-14 17:59:36

hxd,下次报错先翻译看一下,然后百度一下报错的原句子。你这个是隐式传递,意思就是你定义的这个length是int类型但是你得strlen的返回值是unsigned long,由于你是将较高精度的unsigned long复制给int类型所以可能存在精度丢失的问题。因此编译器给你报了错。解决办法也简单,直接在strlen前面加上(int)强制转换结果为int类型(但是比较危险),或者是将length类型改成unsigned long或者size_t;别人的不报错可能是别人的调用的库里面定义的strlen返回值就是int。而size_t是预定义(#define size_t unsigned long或者define size_t int)的返回值怎么都不会报错。

MorganZZL 发表于 2021-7-14 22:25:19

人造人 发表于 2021-7-14 16:08
我怎么可能知道,我看不到你的电脑屏幕呀,你得想办法让我看到你的电脑屏幕呀,截图

https://imgtu.com/i/We0jfK
截屏在这里

MorganZZL 发表于 2021-7-14 22:26:08

y星空y 发表于 2021-7-14 17:59
hxd,下次报错先翻译看一下,然后百度一下报错的原句子。你这个是隐式传递,意思就是你定义的这个length是i ...

所以我现在应该是怎么改呢?我强制转换了一下,是build failed。我现在不知道我该改哪些地方了

人造人 发表于 2021-7-14 23:55:33

MorganZZL 发表于 2021-7-14 22:25
https://imgtu.com/i/We0jfK
截屏在这里

没用过那个软件
找一找 报错信息,把报错信息贴出来
要贴完整,把编译器给出的所有提示都贴出来,代码也贴出来,完整的代码
build failed 确实是编译失败,但是没有显示失败原因
页: [1] 2
查看完整版本: 程序出了点问题,小白请求帮助