编写函数fun:判断两个指针a和b所指存储单元的值的符号是否相同;若同函数返回1,否则返间0。这两个存储单元中的值都不为0。在主函数中输入2个整数、调用的数fun,输出结果
时间: 2023-08-31 15:35:04 浏览: 56
### 回答1:
好的,让我来回答您的编程问题。以下是函数fun的代码:
```lua
function fun(a, b)
if (a > 0 and b > 0) or (a < 0 and b < 0) then
return 1
else
return 0
end
end
-- 主函数
print(fun(2, 3))
```
如果输入的a和b值同号,则函数fun返回1,否则返回0。在这个例子中,我们输入的是2和3,都是正整数,同号,因此fun返回1。最终的输出结果应该是1。希望能够帮到您!
### 回答2:
要编写一个函数fun来判断两个指针a和b所指存储单元的值的符号是否相同,可以根据以下步骤实现:
1. 首先,在函数fun的参数中定义两个指针a和b。
2. 判断a和b所指存储单元的值是否都不为0,若为0,则无法确定其符号,返回0。
3. 判断a和b所指存储单元的值的符号是否相同,若相同,则返回1,否则返回0。
4. 在主函数中,输入两个整数作为a和b的值,并调用函数fun。
5. 根据函数fun的返回值,判断两个指针所指存储单元的值的符号是否相同,并输出结果。
下面是一个示例代码:
```C
#include <stdio.h>
int fun(int* a, int* b) {
if (*a == 0 || *b == 0) {
return 0;
}
if ((*a > 0 && *b > 0) || (*a < 0 && *b < 0)) {
return 1;
} else {
return 0;
}
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
int result = fun(&num1, &num2);
if (result == 1) {
printf("两个指针所指存储单元的值的符号相同\n");
} else {
printf("两个指针所指存储单元的值的符号不相同\n");
}
return 0;
}
```
在上面的代码中,我们定义了函数fun来判断两个指针所指存储单元的值的符号是否相同。然后在主函数中,输入了两个整数作为a和b的值,并调用了函数fun来判断结果。最后根据函数fun的返回值,输出了结果。