gpt4 book ai didi

c - 我正在处理的 2 个程序遇到一些问题

转载 作者:行者123 更新时间:2023-11-30 21:08:51 25 4
gpt4 key购买 nike

我一直致力于 2 个项目:

    void neg_zero(char* x)
{
if (*x < 0)
{
x = 0;
}
}

上面的代码不会检查 x 指向的字符是否为负数,如果为负数,则代码会将 x 归零。

第二个代码:

    void weirdFunc(int* a, int * b) {
**if (a == b)**
{
**a = a + b;**
}
else
{
**b = a - b;**
}
}
void main() {
int a = 0, y=0;
int* x = NULL;
x = &a;
a = 6;
y = 5;
**weirdFunc(x, y);**
**printf("%d \n%d \n", x, y);**
}

这个函数接收两个指向 int 的指针,它们是这样的:如果两个数字相等,则将它们的组合放入第一个参数中。如果两个数字不同,则将其差异放入第二个参数中。

现在第二个功能是根据非常具体的需求制作的,因此如果您只能更改标记部分(**)。

谢谢大家!

最佳答案

第一个函数是正确的,因为它确实“代码将 x 归零”。如果您碰巧想要将 x 所指向的值归零,请将 x = 0; 更改为 *x = 0;.

使用正确的类型和取消引用,第二个代码应如下所示:

    void weirdFunc(int* a, int * b) {
if (*a == *b)
{
*a = *a + *b;
}
else
{
*b = *a - *b;
}
}
void main() {
int a = 0, y=0;
int* x = NULL;
x = &a;
a = 6;
y = 5;
weirdFunc(x, &y);
printf("%d \n%d \n", *x, y);
}

非常抱歉,由于限制,我无法纠正未包含正确 header 以及使用非标准 void main() 的问题。

关于c - 我正在处理的 2 个程序遇到一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com