
下に書いたプログラムを実行すると40が出力されるとおもったら、50が出力されました。なぜかおしえてください。(七行目までで*b=40になるところまではわかりました。
八行目でa=50としているものの、次の行でa = *bとあるのでa=40ではないかと考えました。)
#include <stdio.h>
int main(void){
int a = 10;
int *b;
a = a + 10;
b = &a;
*b = a + a;
a = 50;
a = *b;
printf("%d \n", a);
return 0;
}
No.5
- 回答日時:
>八行目でa=50としているものの
*b は書き替えられて50になっているaを指している
わけで、この時点で 40 が代入された変数aはどこにも残っていないよ。
No.4
- 回答日時:
途中
b = &a;
としているので b には a のアドレスが入る. つまりこれ以降 *b は a のエイリアスになる. そして
a = 50;
とあるので a は 50 になるわけだが, *b は a と同じなのでこの時点で *b も 50 になっている.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Cのオブジェクトファイルの逆アセンブル
C言語・C++・C#
-
大量のデータを読み込んで表示する速度を改善したい
C言語・C++・C#
-
プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ,
C言語・C++・C#
-
-
4
関数ポインタの高速化のメリット
C言語・C++・C#
-
5
int16_t の _t は何?
C言語・C++・C#
-
6
いまc言語の標準ライブラリ文字列を勉強しているのですがいまいちわかりません。 strcmpとmemc
C言語・C++・C#
-
7
c言語の問題の説明、各所ごとに
C言語・C++・C#
-
8
C言語でif文が予想と違う動きをする件について7
C言語・C++・C#
-
9
Cの関数の引数のconst *charについて
C言語・C++・C#
-
10
C言語初心者 ポインタについて、お助けください、、
C言語・C++・C#
-
11
プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ,
C言語・C++・C#
-
12
プログラミング 素数か素数ではないか判断するプログラミングで、写真のようなプログラミングを打ったとき
C言語・C++・C#
-
13
C言語でファクト関数を使わずに階乗を計算する方法はありますか?できれば教えてください
C言語・C++・C#
-
14
C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、
C言語・C++・C#
-
15
Cのdoubleの浮動小数点表示について
C言語・C++・C#
-
16
【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法
C言語・C++・C#
-
17
C言語 1から20までの逆数の和を求めたいのですが、このようにプログラミングしたら値が負になってしま
C言語・C++・C#
-
18
C言語について。
C言語・C++・C#
-
19
アセンブラ指令
C言語・C++・C#
-
20
プログラミング c言語
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
実数の整数部,小数部の取得
-
【C++】関数ポインタの使い方
-
「指定されたキャストは有効で...
-
c言語の配列を使ってサイコロを...
-
read関数をノンブロッキングで...
-
線形補間 2次元テーブル C言語...
-
ラップ関数とはどんなものですか?
-
C言語での引数の省略方法
-
C言語 エラーの原因がわからな...
-
数字列を3桁ごとにカンマで区切...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語で分からないところがあり...
-
DLLをGetProcAddress()で実行で...
-
【至急】プログラムにエラーが...
-
未解決の外部シンボル _printf...
-
system関数がうまくいかない
-
std::set<int> で、ある値が何...
-
C言語のポインタの問題の解答が...
-
VBからのDLL呼び出しでエラー発生
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
実数の整数部,小数部の取得
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
(マルチスレッド)_beginthrea...
-
if と配列の組み合わせ
-
system関数がうまくいかない
-
read関数をノンブロッキングで...
-
std::set<int> で、ある値が何...
-
式は定数値が必要です」という...
-
(int *)の意味
-
数字列を3桁ごとにカンマで区切...
-
「{ } で囲むだけ」は正しい?
-
int16_t の _t は何?
-
【至急】プログラムにエラーが...
-
systemの戻り値を取得する方法
おすすめ情報