C_and_CPP 板


LINE

开发平台(Platform): (Ex: Win10, Linux, ...) Linux mint 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出) g++ 或http://www.compileonline.com/compile_c_online.php 问题(Question): 我的strcmp跑出来的结果怪怪的20,一开始我以为是overflow害的, 结果我把空间变大後答案是18,我不太懂为甚麽... 如果直接输入字串,会是正常的答案。 喂入的资料(Input): struct {char str1[10], str2[10];} s; strcpy(s.str1, "yahoo"); strcpy(s.str2, "google"); strcat(s.str1, strcat(s.str2, "adobe")); 预期的正确结果(Expected Output): 1 错误结果(Wrong Output): 20 程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档) http://codepad.org/KF2FCnr8 # include<stdio.h> # include<string.h> int test04(void){ struct {char str1[10], str2[10];} s; strcpy(s.str1, "yahoo"); strcpy(s.str2, "google"); strcat(s.str1, strcat(s.str2, "adobe")); return strcmp(s.str1, s.str2); } int main() { printf("%d\n", test04()); /* Problem 2-4 */ return 0; } 补充说明(Supplement): 隔壁棚Grad-ProbAsk 程式设计的北科大考生们正在水深火热中,恳请大大们协助<(_ _)> -- 壁河山攻守 争成败悟道 许银川 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.147.201
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1551598970.A.1B2.html
1F:→ aa0917954358: strcmp返回值只跟你说有三种情况:小於零、等於零和 03/03 16:11
2F:→ aa0917954358: 大於零,没说大於零的状况一定要回传1,要根据strcm 03/03 16:11
3F:→ aa0917954358: p如何实作的 03/03 16:11
可是我直接打 printf("%d\n", strcmp("yahoogoogleadobe", "googleadobe")); 输出是1... s.str1跟这样是差在哪?怎会变成18?不懂QAQQQ 因为考试是希望我们写出输出是啥...
4F:→ loveme00835: 你有去明白它回传值的涵义吗? 你当它是 strlen()? 03/03 16:25
5F:→ loveme00835: 呼叫函式前看它的说明是基本中的基本 03/03 16:29
6F:→ loveme00835: https://bit.ly/2tOcwIi 03/03 16:29
我有看过阿Q strcmp() 需要两个字串当作参数,比较两个字串是否相等,相等就回传 0, 第一个字串大於第二个字串回传正值,反之回传负值。 但是题目要求写出他的值...说明上没说值是怎麽取的QAQQQ
7F:→ ninijimmy: 北科考题107? 03/03 17:11
对北科考题107考题
8F:→ crazycy: 答案就是大於零的整数 没有定义确切值 03/03 17:12
好的,谢谢您 <3
9F:→ ninijimmy: strcmp是要回传 两个相差的ascii值喔!! 编译环境不同 03/03 17:15
10F:→ ninijimmy: 有差,我当初写这题弄很久,g++他只会传 0,1,-1,我用 03/03 17:15
11F:→ ninijimmy: 线上编译器他是回传20(y&e相差20) 03/03 17:15
12F:→ ninijimmy: 我想这题应该正解是20 03/03 17:16
13F:→ ninijimmy: ps 106年也有类似题但比较简单~~~ 03/03 17:18
14F:推 ctrlbreak: 你的字串爆了吧? XD 03/03 17:25
15F:推 ctrlbreak: 我看他的source传差值是正常的, 固定字串传1,-1应该是 03/03 17:28
16F:→ ctrlbreak: 编译器帮你最佳化了吧 XD http://bit.ly/2VB7wTl 03/03 17:28
了解了,原来如此,谢谢您们<(_ _)> ※ 编辑: st1009 (1.163.147.201), 03/03/2019 17:30:10
17F:推 choosin: 是不是差值根本不重要 而是实作要符合规格 03/05 16:44
18F:→ st1009: 考试会考就重要...不然实作时不知道,我也可以自己定义一 03/10 10:54
19F:→ st1009: 个fn来解 03/10 10:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP