最赞回答 / onemoo
s1是一个长度为100的字符数组。s2是一个长度为4的字符数组。s3是一个长度为4的字符数组。strcat(s2, s3) 这个函数是将s3中的内容(包括s3结尾的'\0')复制到s2中最后一个字符的后面(覆盖掉s2原来结尾的'\0'),这样就能把两个字符串中的字符连起来了,并且还是'\0'结尾。但这需要s2有足够的长度来容纳这么多的字符,长度至少为 strlen(s2) + strlen(s3) + 1,最后这个1就是结尾的'\0'。否则就会写越界。
2015-03-03
最赞回答 / 夏进牛奶
不加 break:结果会变化 return 返回的是 -1!!!!因为 你要找的8 数组下标为 3 如果此时不用break 结束循环 那么执行完后 还要在执行下一个 也就是i=4 当i=4时 不满足if条件 程序执行道else后的语句 index=-1 然后 还要再执行i=5 此时已经不满足for循环 整个大循环结束 return 返回 -1 再回到主函数 因为 index=-1 则会执行 else { printf("%d在数组中不存在。\n",value); ...
2015-03-03
最赞回答 / onemoo
那个函数名应该是“dividLine”,注意L是大写。另外,这个课程本身就有问题:如果函数不需要参数,那么在声明时参数列表应该是(void),例如int sayLove(void)。括号中不应该留空。
2015-03-01
最赞回答 / lymo
C89的标准里void main()可以,但在C99中main必须返回一个int,后面加return 0;表示程序正常退出,当然,编译器也会帮你干这事,建议用新标准的方法。若考虑到老机器的移植,可能C89更好。
2015-03-01
最赞回答 / 火Rain
——【_wilsonjax的回答】不是因为去掉0.。而是它本身的最大值就是2^31-1。而不是你说的2^31。我们不考虑那么多位,假设只有三位,其中首位为符号位的话,最大值的情况不就是011吗?32位的时候同理啊,01111111 11111111 11111111 11111111 //而这个数表示的值就是(2^31)-1.(支持的给个赞好么,哈哈)
2015-02-28