小编H. *_*VON的帖子

#define如何在编程中使用运算符定义有值?

我正面临着理解#define如何工作的问题.

#include<stdio.h>
#define x 6+3
int main(){

int i;
i=x;    //9
printf("%d\n",i);
i=x*x;  //27
printf("%d\n",i);
i=x*x*x;   //45
printf("%d\n",i);
i=x*x*x*x;    //63
printf("%d\n",i);

return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用#define x 6+3输出是9 27 45 63

如果我使用#define x (6+3)的输出是9 81 729 6561

c c++

0
推荐指数
1
解决办法
113
查看次数

交换函数如何与引用一起使用?

我想用一个函数交换两个变量。我创建了两个函数my_swap_f1my_swap_f2my_swap_f2工作正常,但my_swap_f1抛出 2 个错误(在下面注释掉)。

#include<iostream>
using namespace std;
int my_swap_f1(int &a,int &b){

    int *temp;
    temp=&a;
    //&a=&b;   //throw error
    //&b=temp;    //throw error
}

int my_swap_f2(int *a,int *b){
    //works perfectly
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}

int main(){
    int a=10;
    int b=20;
    int temp=0;
    cout<<"Before Swap"<<endl;
    cout<<a<<endl;
    cout<<b<<endl;

    my_swap_f1(a,b); //send value as perameter
    //my_swap_f2(&a,&b); //send address as perameter
    cout<<"After Swap"<<endl;
    cout<<a<<endl;
    cout<<b<<endl;
}
Run Code Online (Sandbox Code Playgroud)

问题:为什么会抛出错误my_swap_f1,如果我想交换怎么办my_swap_f1

c++ swap reference

0
推荐指数
1
解决办法
7433
查看次数

标签 统计

c++ ×2

c ×1

reference ×1

swap ×1