编写函数实现strcmp( )函数功能
strcmp(字符串1,字符串2)
作用是比较字符串1和字符串2。两个字符串从左至右逐个字符比较(按照字符的ASCII码值的大小)(即减法比较),直到字符不同或者遇见’\0’为止
如果全部字符都相同,则返回值为0。如果不相同,则返回两个字符串中第一个不相同的字符的ASCII码值的差,即串1大于串2时函数值为正,否则为负
/* strcmp(字符串1,字符串2) 作用是比较字符串1和字符串2。两个字符串从左至右逐个字符比较(按照字符的ASCII码值的大小)(即减法比较), 直到字符不同或者遇见’\0’为止 如果全部字符都相同,则返回值为0。 如果不相同,则返回两个字符串中第一个不相同的字符的ASCII码值的差,即串1大于串2时函数值为正,否则为负 */ #include<stdio.h> #include<stdlib.h> #include<string.h> int my_strcmp(char str1[], char str2[]) { int nNum1, nNum2; int value; nNum1 = strlen(str1); nNum2 = strlen(str2); if (nNum1 == nNum2) { for (int i = 0; i < nNum2; i++) { value = str1[i] - str2[i]; if (value == 0) { return 0; } else if (value > 0) { return 1; } else { return -1; } } } else if (nNum1 > nNum2) { return 1; } return -1; } int main() { int nNum1, nNum2; char strAry1[30] = "I like beijing"; char strAry2[30] = "I like beijingm"; nNum1 = my_strcmp(strAry1, strAry2); nNum2 = strcmp(strAry1, strAry2); system("pause"); return 0; }
浙公网安备 33010602011771号