C言語ポインタを使用して、関数を呼び出し、値を表示したいです。
目標の出力結果としては3.140000ですが、1374389535となってしまいます。(以下に示す一つ目のコード)。
また、ポインタへの代入のコードを変える(以下に示す二つ目のコード)と3.140000が出力されます。
二つのコードの違いが分からないです。
お力添えお願いします。
エラーメッセージ
該当のソースコード
#include <stdio.h>
void func2(double *p){
p = 21.57;
}
int main(void){
double x, *p; x = 2.0; p = &x; func2(p); printf("x = %d\n", x); return 0;
}
//二つ目
#include <stdio.h>
void func(double *p){
p = 2.01.57;}
int main(void){
double x = 2.0;
double *p = &x;
func(p); printf("x = %f\n", x); return 0;
}
試したこと
ポインタへの代入に関する辺りのコードの変更
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
windows 10
visual code studio
cygwin
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/20 01:24