C语言 比较字符串的大小关系
生活随笔
收集整理的這篇文章主要介紹了
C语言 比较字符串的大小关系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| #include<stdio.h> | int strcmp(const char *s1, const char *s2) | 比較s1指向的字符串和s2指向的字符串的大小關系(從第一個字符開始逐一比較,當出現不同的字符時,便可確定這些字符的大小關系)。 | 若s1 和 s2相等,則返回0;若s1 大于 s2,則返回正整數值;若s1 小于 s2,則返回負整數值。 |
運行結果:
strcmp函數實現:
int strcmp(const char *s1, const char *s2){while (*s1 == *s2){if(*s1 == '\0'){return 0;}s1++;s2++;}return (unsigned char)*s1 - (unsigned char)*s2; }strncmp函數指定前n個字符串進行比較
| #include<stdio.h> | int strncmp(const char *s1, const char *s2, size_t n) | 比較s1指向的字符的數組和s2指向的字符的數組的前n個字符的大小關系。 | 若s1 和 s2相等,則返回0;若s1 大于 s2,則返回正整數值;若s1 小于 s2,則返回負整數值。 |
運行結果:
strncmp函數實現:
int strncmp(const char *s1, const char *s2, size_t n){while (n && *s1 && *s2){if(*s1 != *s2){return (unsigned char)*s1 - (unsigned char)*s2;}s1++;s2++;n--;}if(!n){return 0;}if(*s1){return 1;}return -1; }總結:
- strcmp 函數 和 strncmp函數對字符串大小的判斷,是基于字符編碼進行的。字符編碼表示字符的值,它依賴于該環境中采用的字符編碼體系。
- strcmp 函數 和 strncmp函數不能進行具有可移植性(不依賴于運行環境中采用字符編碼等)的字符串的比較。
- strncmp函數開頭n個字符內沒有null字符也可以進行比較(不是字符串也可以進行比較)。
總結
以上是生活随笔為你收集整理的C语言 比较字符串的大小关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 连接字符串
- 下一篇: C 语言获取系统时间