新手的每日一问
#include <stdio.h>#include <string.h>
int main()
{
char str1[] = "love";
char str2[] = "FishC";
if (strlen(str1) - strlen(str2) < 0)
{
printf("字符串"%s"比字符串"%s"短!\n", str1, str2);
}
else
{
printf("字符串"%s"比字符串"%s"长!\n", str1, str2);
}
return 0;
}
这道题小甲鱼说会得到相反的结果,但是我用dev c++得到的是正确的结果啊,我现在人都有点懵逼了{:10_257:}
不知道为什么发不了图片。。。 什么意思? ba21 发表于 2019-3-8 00:33
什么意思?
如果按照题目中的意思(见课后作业S1E19),我会得到字符串str1比字符串str2长这个结果,但是我自己尝试得到的是字符串str1比字符串str2短 你printf错了
应该是 printf("字符串%s比字符串%s短!\n", str1, str2);
printf("字符串%s比字符串%s长!\n", str1, str2);
吧,原代码你编译通得过吗 暗pluto 发表于 2019-3-8 12:08
你printf错了
应该是 printf("字符串%s比字符串%s短!\n", str1, str2);
printf("字符串%s比字符串%s长! ...
printf("字符串"%s"比字符串"%s"短!\n", str1, str2);源码是在“%s”编译报错了,但是他题目的含义不应该是love比Fishc长嘛 GumpYu 发表于 2019-3-8 22:32
源码是在“%s”编译报错了,但是他题目的含义不应该是love比Fishc长嘛
你改过来就对了啊
错误改正后,编译结果就是love比fishc长 暗pluto 发表于 2019-3-8 23:20
你改过来就对了啊
错误改正后,编译结果就是love比fishc长
但是我得到的结果是love比fishc短{:10_269:}
GumpYu 发表于 2019-3-9 23:00
但是我得到的结果是love比fishc短
你确定?你改完的代码是怎么样的,如果还是短的话,你可以输出一下减完后的值,或者单步调试一下 暗pluto 发表于 2019-3-10 01:40
你确定?你改完的代码是怎么样的,如果还是短的话,你可以输出一下减完后的值,或者单步调试一下
真滴怪了,我代码没变这次输出的结果又正确了{:10_249:},上次的编译结果还截了图的 GumpYu 发表于 2019-3-10 10:59
真滴怪了,我代码没变这次输出的结果又正确了,上次的编译结果还截了图的
那可能是编译器偶尔的抽风吧,{:10_245:}
页:
[1]