题目1:比较用户输入的2个字符串的长度大小,要求语法中使用指向字符串的指针。 例如 char pStr1[50] = {“abc”}; char *pS1 = pStr1; 再使用pS1指针进行比较。完整代码
时间: 2024-12-22 09:32:18 浏览: 19
题目1要求使用指向字符串的指针比较两个字符串的长度,可以先通过指针获取每个字符串的实际结束位置(即'\0'字符的位置),然后将这个位置减去初始指针位置得到字符串长度。以下是完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char pStr1[50] = {'a', 'b', 'c', '\0'};
char *pS1 = pStr1; // 指向字符串1
char pStr2[50] = {'d', 'e', 'f', 'g', '\0'};
char *pS2 = pStr2; // 指向字符串2
int len1 = (char*)memchr(pS1, '\0', strlen(pS1)) - pS1; // 计算字符串1长度
int len2 = (char*)memchr(pS2, '\0', strlen(pS2)) - pS2; // 计算字符串2长度
if (len1 > len2) {
printf("字符串1的长度大于字符串2。\n");
} else if (len1 < len2) {
printf("字符串1的长度小于字符串2。\n");
} else {
printf("字符串1和字符串2的长度相等。\n");
}
return 0;
}
```
在这个代码中,`memchr()`函数用于查找指定字符第一次出现的位置,这里就是找到`\0`字符的位置。然后我们从这个位置减去初始指针位置得到实际长度。最后比较这两个长度并输出结果。
阅读全文