[问题] strcmp

楼主: GooLoo (平凡)   2015-08-11 22:40:09
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
DEV C
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
请问一下, 老师说strcmp是从第一个字符开始比,
完全相同输出0,
左>右,输出 +的差值
右<左,输出-的差值
为什么我编译后出现+1和-1, 不是+2,-2?
我有试过其它字符,它好像只会出现 0/1/-1 三种
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
int delta1=strcmp("ABC","ABC");
printf("%d\n",delta1);
int delta2=strcmp("ABF","ABC");
printf("%d\n",delta2);
int delta3=strcmp("ABC","ABF");
printf("%d\n",delta3);
return 0;
}
补充说明(Supplement):
作者: bibo9901 (function(){})()   2015-08-11 22:42:00
只区分 <0, 0, >0. 正多少或负多少倒是没规定
楼主: GooLoo (平凡)   2015-08-11 22:49:00
原来如此,可能老师的编译器不同?ex:xcode?
作者: LPH66 (-6.2598534e+18f)   2015-08-12 01:04:00
是的, 编译器实作不同可能会回传不同值, 但一定是 < = > 0
作者: dritchie (卍~迈斯纳效应~卍)   2015-08-12 01:13:00
字符 不是字符
作者: ctrlbreak   2015-08-12 12:53:00
字符是对岸用语

Links booklink

Contact Us: admin [ a t ] ucptt.com