strcmp函数编写
时间: 2023-10-23 12:34:04 浏览: 114
C语言strcmp函数用法
可以使用以下代码来编写一个不使用库函数的strcmp函数:
```c
int strcmp(char *source, char *dest) {
int ret = 0;
while (!(ret = *(unsigned char *)source - *(unsigned char *)dest) && *dest) {
source++;
dest++;
}
if (ret < 0 || ret > 0) {
ret = -1;
} else if (ret > 0) {
ret = 1;
}
return ret;
}
```
该函数接受两个指向字符数组的指针作为参数,比较两个字符串的内容。在函数中,通过逐个比较两个字符串中的字符,直到找到第一个不相等的字符或者遍历完其中一个字符串。如果找到不相等的字符,则将它们的差值赋给变量ret。如果ret小于0,则表示source字符串的字符在字典顺序上小于dest字符串的字符;如果ret大于0,则表示source字符串的字符在字典顺序上大于dest字符串的字符;如果ret等于0,则表示两个字符串相等。最后,将ret的值返回给调用者。
需要注意的是,由于strcmp函数的参数是指向字符数组的指针,因此在调用函数时需要传入正确的指针。在main函数中,可以通过声明字符数组并使用scanf函数来输入两个字符串,然后将数组的指针传递给strcmp函数进行比较。
```c
int main(int argc, const char *argv[]) {
char a<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* *2* [编写strcmp函数](https://blog.csdn.net/ShawnWang1994/article/details/94394440)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文