授業とは違うプログラムを作ったのですが、これでうまく実行できない理由がわかりません。
###問題
三⾓形の底辺の⻑さを格納するint型変数を指すポインタxpと、⾼さを格納するint型変数を指すポインタhpと、⾯積を格納す
るためのfloat型変数を指すポインタapを仮引数として受け取ると、三⾓形の⾯積を計算してapが指すfloat型変数に格納する
calc_area関数を作成せよ。さらに、適切にmain関数を設け、三⾓形の底辺の⻑さと⾼さを整数値で標準⼊⼒すると、三⾓形
の⾯積を⼩数点以下2桁まで標準出⼒するプログラムを作成せよ。
###回答のプログラム
C
1#include<stdio.h> 2 3void calc_area(int *xp, int *hp, float *ap); 4 5int main(void) { 6 int x, h; 7 float area; 8 9 printf("x = "); scanf("%d", &x); 10 printf("h = "); scanf("%d", &h); 11 12 calc_area(&x, &h, &area); 13 14 printf("Area = %.2f\n", area); 15 16 return 0; 17} 18 19void calc_area(int *xp, int *hp, float *ap) { 20 *ap = *xp * *hp * 0.5; 21}
###自分の回答
c
1#include<stdio.h> 2 3void calc_area(int *xp, int *hp, float *ap); 4 5int main(void) { 6 int *x, *h; 7 float *area; 8 9 printf("x = "); scanf("%d", x); 10 printf("h = "); scanf("%d", h); 11 12 calc_area(x, h, area); 13 14 printf("Area = %.2f\n", *area); 15 16 return 0; 17} 18 19void calc_area(int *xp, int *hp, float *ap) { 20 *ap = *xp * *hp * 0.5; 21}
アドレスとしてxを定義するとxの変数のアドレスを準備したことにはならないということですか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/23 05:20
2017/07/23 05:26
2017/07/23 06:18
2017/07/23 06:19