unsigned char* StrCmp(unsigned char *str1, unsigned char *str2, unsigned char *EndPoint) { unsigned int strlength, i; strlength = strlen((char *) str2); while (str1 != EndPoint) { if (*str1 == *str2) { for (i = 0; i < strlength; i++) { if (*str1 == *str2) { str1++; str2++; } else { return NULL; } } return str1; } else { str1++; } } return NULL; } 这个函数的运行的代码逻辑步骤
时间: 2023-05-21 13:07:39 浏览: 171
您提供的是一个字符串比较函数的代码,运行逻辑步骤如下:
1. 函数接受三个参数:指向字符串1的指针str1,指向字符串2的指针str2,以及指向字符串1结束位置的指针EndPoint。
2. 获取字符串2的长度,并进行循环。
3. 判断str1所指向的字符是否与str2所指向的字符相等,如果相等则进入内层循环。
4. 对比相应位置上的字符是否相等,如果相等则str1和str2分别往后移动一个位置,继续比较;如果不相等则返回NULL。
5. 如果内层循环完毕,则说明字符串2已经匹配完成,返回str1指针。
6. 如果比较失败,则将str1指针同时往后移动一个位置。
7. 如果str1移动到了EndPoint指针所指的位置仍未找到匹配,则说明字符串1中无法找到与字符串2匹配的部分,返回NULL。
希望以上回答能够帮到您!
相关问题
char *和unsigned int*
`char *` 和 `unsigned int *` 都是 C/C++ 中的指针类型,它们分别用来指向字符(`char`)和无符号整数(`unsigned int`)类型的变量。
1. `char *` 指针:它是一个指向 `char` 类型数据的指针,通常用于字符串操作,如存储字符串地址或作为函数参数传递字符串。当你声明一个 `char *`,你实际上得到了一个内存地址,可以通过解引用操作 `*` 来访问存储在该地址处的字符。
2. `unsigned int *` 指针:它是一个指向无符号整数 (`unsigned int`) 的指针。这种类型的指针可以用来存储数值的地址,并通过指针进行数值的读写操作。无符号整数类型表示的是正整数,包括0。
unsigned char*数组如何存储unsigned char*类型的数据
unsigned char*数组可以存储unsigned char*类型的数据。您可以使用memcpy函数将一个unsigned char*类型的数据复制到unsigned char*数组中。例如:unsigned char* array = new unsigned char[SIZE]; unsigned char* data = new unsigned char[SIZE]; memcpy(array, data, SIZE); 您还可以使用数组下标将一个unsigned char*类型的数据存储到unsigned char*数组中。例如:unsigned char* array = new unsigned char[SIZE]; unsigned char* data = new unsigned char[SIZE]; for (int i = 0; i < SIZE; i++) { array[i] = data[i]; }
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)