关于strncmp函数的

strncmp("Happy", str1, 5) 为什么返回的值是“-1”,而不是 0 呢?str1[50] = "Happy birthday"

第1个回答  推荐于2016-10-12
strncmp
原型:extern int strcmp(char *s1,char * s2,int n);

用法:#include <string.h>

功能:比较字符串s1和s2的前n个字符。

说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0

举例:

// strncmp.c

#include <syslib.h>
#include <string.h>

main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;

clrscr();

r=strncmp(s1,s2,6);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");

getchar();
clrscr();

r=strncmp(s1,s2,10);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");

getchar();
return 0;
}
Tags: strncmp C本回答被网友采纳
第2个回答  2009-04-16
不会的,结果肯定是0。
相似回答