//:Vc++6.0 String strcmp函數(shù)
//功能:比較兩個字符串的大小
//參數(shù):str1 字符串1 str2 字符串2
//返回值:正確返回其差值 錯誤返回 -65535
#include<stdio.h>
int strcmp (const char *str1, const char *str2);
int main ()
{
char *str1 = "hello";
//char *str2 = "hello"; //驗證相等
//char *str2 = "helloo"; //驗證小于
//char *str2 = "hell"; //驗證大于
printf("val: %d\n", strcmp(str1, str2));
return 0;
}
int strcmp (const char *str1, const char *str2)
{
if (str1 == NULL || str2 == NULL)
{
perror("str1 or str2");
return -65535;
}
while (*str1 != '\0' || *str2 != '\0')
{
if (*str1 != *str2)
{
return *str1 - *str2;
}
else
{
str1++;
str2++;
}
}
if (*str1 == '\0' && *str2 == '\0')
return 0;
if (*str1 != '\0' && *str2 == '\0')
return *str1;
if (*str1 == '\0' && *str2 != '\0')
return -*str2;
}
//在vc++6.0中的運行結果為: 0
// 111
// -111
//注:如果相等返回0 如果不等返回的是下一個字符的ASCII碼//~
|