前提・実現したいこと
以下のような動作をするプログラムを作成したいのですが、4で入力した値を画面表示する方法がわかりません。
どのようにしたら良いでしょうか、教えていただけると嬉しいです。
1 整数型ポインタ変数pを定義する.
2 以下の3~6を無限ループで繰り返す.
3 整数型変数を格納するためのメモリ領域を malloc()を用いて作成し,先頭アドレスをポイ
ンタ変数 p に格納する.
4 キーボードから整数値を入力し,3で作成したメモリ領域に値を格納する.負の値が入力
された場合には,メモリ領域を解放した後でループを抜けて終了する.
5 4で入力した値と,メモリ領域の先頭アドレスを画面表示する.
6 3で作成したメモリ領域を開放する.
該当のソースコード
c
1#include<stdio.h> 2#include<stdlib.h> 3 4int main(void){ 5 6 int *p; 7 8 while(1){ 9 p = (int *)malloc(sizeof(int)); 10 11 printf("数値を入力して下さい->"); 12 scanf("%d",p); 13 14 if(*p<0){ 15 break; 16 } 17 } 18 printf("%d,%p\n",*p,p); 19 20 free(p); 21 return 0; 22}
現在の実行結果
数値を入力して下さい->3
数値を入力して下さい->4
数値を入力して下さい->5
数値を入力して下さい->-1
0,0x601070
回答2件
あなたの回答
tips
プレビュー