用指针表示两个数的大小关系
时间: 2024-02-28 10:25:16 浏览: 16
我们可以定义一个函数,该函数接受两个指向整数的指针作为参数,并返回一个整数值,表示这两个整数的大小关系。函数的实现如下:
```c
int compare(int *a, int *b) {
if (*a < *b) {
return -1;
} else if (*a > *b) {
return 1;
} else {
return 0;
}
}
```
在该函数中,我们首先通过指针获取两个整数的值,然后比较它们的大小,返回一个表示大小关系的整数值。如果第一个整数小于第二个整数,则返回-1;如果第一个整数大于第二个整数,则返回1;如果两个整数相等,则返回0。
相关问题
用指针函数比较两个字符串数组大小
可以使用指针函数来比较两个字符串数组的大小。下面是一个例子:
```c
#include <stdio.h>
int compareStrings(char *str1, char *str2) {
while (*str1 && (*str1 == *str2)) {
str1++;
str2++;
}
return *str1 - *str2;
}
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = compareStrings(str1, str2);
if (result < 0) {
printf("'%s' is less than '%s'\n", str1, str2);
} else if (result > 0) {
printf("'%s' is greater than '%s'\n", str1, str2);
} else {
printf("'%s' is equal to '%s'\n", str1, str2);
}
return 0;
}
```
这个例子中,`compareStrings`函数使用指针来比较两个字符串的大小。它首先检查两个字符串的第一个字符是否相等,如果相等,则继续比较下一个字符,直到找到不相等的字符或者到达字符串的结尾。如果两个字符串的长度不同,则较短的字符串被认为是小于较长的字符串。最后,函数返回一个整数值,表示两个字符串的大小关系。
用指针写一个函数比较两个字符串大小
可以写一个函数 `compareStrings`,其参数为两个 `char` 类型的指针,分别指向要比较的字符串,函数返回值为整型,表示两个字符串的大小关系。
函数实现如下:
```c
int compareStrings(char *str1, char *str2) {
while (*str1 == *str2) {
if (*str1 == '\0') {
return 0; // 两个字符串相等
}
str1++;
str2++;
}
return (*str1 > *str2) ? 1 : -1; // 如果 str1 比 str2 大返回 1,否则返回 -1
}
```
函数逐个比较两个字符串中的字符,如果相同就继续比较下一个字符,直到出现不同的字符或者字符串结尾。如果两个字符串完全相同,则返回 `0`;否则,返回比较结果。