問題1:C言語との違い
| この問題を解くためには… |
| → 応用編第1日目参照 |
|---|
probex1-1.(難易度:★)
以下のプログラムで、変数aの値を直接変えることなく、aの値に3を足したものを出力するように、プログラムを改造しなさい。
main.cpp
#include <iostream>
using namespace std;
int main(){
int a = 7;
int &n = a;
cout << "a= " << a << endl;
cout << "a= " << a << endl;
}
a = 7
a = 10
a = 10
probex1-2.(難易度:★★)
以下のプログラムのchangeNum()関数の引数を、変数のポインタではなく、参照を与える形に変えて、同じ結果が得られるようにプログラムを変更しなさい。
main.cpp
#include <iostream>
using namespace std;
void changeNumber(int*);
int main(){
int n = 5;
cout << "変更前 : " << n << endl;
changeNumber(&n);
cout << "変更後 : " << n << endl;
}
void changeNumber(int* n){
*n *= 2; // 数値
}
変更前 : 5
変更後 : 10
変更後 : 10
probex1-3.(難易度:★★)
以下のプログラムのswap()関数の引数を、変数のポインタではなく、参照を与える形に変えて、同じ結果が得られるようにプログラムを変更しなさい。
main.cpp
#include <iostream>
using namespace std;
void swap(int*, int*);
int main()
{
int a = 1, b = 2;
cout << "a = " << a << " b = " << b << endl;
swap(&a, &b);
cout << "a = " << a << " b = " << b << endl;
return 0;
}
void swap(int *a, int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
a =1 b = 2
a =2 b =1
a =2 b =1









