白牡丹秀色可餐 发表于 2020-6-12 02:01:06

字符串比较大小strcmp

#include<stdio.h>
#include<string.h>


void main()
{
        int n;
        char m[]="strang";
        char h[]="string";
        n = strcmp(m,h);
        printf("%d",n);
}

请问这个代码有什么不对的吗?不管哪一个不一样输出的都是1/-1

Neverturnback 发表于 2020-6-12 03:05:02

这个代码没啥问题,你可以去搜索一下strcmp()返回值。

sunrise085 发表于 2020-6-12 07:53:59

strcmp函数返回值是10-1。若前者大返回1; 后者大返回–1; 相等返回0。
在有的编译器下返回的是字符串中首个不同字符的ASCII码差值,具体是哪种编译器,我记不清了。大部分编译器的返回值是10-1
页: [1]
查看完整版本: 字符串比较大小strcmp