鱼C论坛

 找回密码
 立即注册
查看: 1320|回复: 2

[已解决]C++

[复制链接]
发表于 2023-10-19 21:32:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
void exchange(int *p1, int *p2);
int main()
{   
    int a=10 , b=30;
    void exchange(&a,&b);
        cout << a<< ' '<< b;
    return 0;
}
void exchange(int *p1, int *p2)
{
        int temp = 0;
        temp = *p1;
        *p2 = *p1;
        *p1 = temp;
}这个编译器说这里不允许使用不完整的类型,这里什么错了?谢谢
最佳答案
2023-10-19 21:32:39
这个错误是因为在主函数中调用 exchange 函数的方式不正确。在C++中,函数调用不需要使用 void 关键字,而且函数名前不需要使用 & 符号。所以正确的调用方式应该是 exchange(&a, &b); 。

以下是修改后的代码:
#include <iostream>
using namespace std;

void exchange(int *p1, int *p2);

int main()
{
    int a = 10, b = 30;
    exchange(&a, &b);
    cout << a << ' ' << b;
    return 0;
}

void exchange(int *p1, int *p2)
{
    int temp = 0;
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}

这样修改后,程序就能正确地交换变量 a 和 b 的值了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-19 21:32:39 | 显示全部楼层    本楼为最佳答案   
这个错误是因为在主函数中调用 exchange 函数的方式不正确。在C++中,函数调用不需要使用 void 关键字,而且函数名前不需要使用 & 符号。所以正确的调用方式应该是 exchange(&a, &b); 。

以下是修改后的代码:
#include <iostream>
using namespace std;

void exchange(int *p1, int *p2);

int main()
{
    int a = 10, b = 30;
    exchange(&a, &b);
    cout << a << ' ' << b;
    return 0;
}

void exchange(int *p1, int *p2)
{
    int temp = 0;
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}

这样修改后,程序就能正确地交换变量 a 和 b 的值了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-19 21:33:45 | 显示全部楼层
在你的代码中,有一个问题在于 void exchange(&a,&b); 这一行代码的写法是错误的。应该改为 exchange(&a, &b);。另外,在 exchange 函数内部交换变量的时候,写成了 *p2 = *p1; *p1 = temp;,而实际上应该是 *p1 = *p2; *p2 = temp;

下面是修改后的代码:
#include <iostream>using namespace std;void exchange(int *p1, int *p2);int main(){    int a=10, b=30;    exchange(&a, &b);    cout << a << ' ' << b;    return 0;}void exchange(int *p1, int *p2){    int temp = *p1;    *p1 = *p2;    *p2 = temp;}
运行结果为:

[/code]
30 10
[/code]

希望这个回答能够帮助到你!如果你还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 22:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表