fork download
  1. /* Kadai062 */
  2. /* Example041 のプログラムを、配列宣言以外すべてポインタでアクセスするように変更せよ。 */
  3. /* 2026.07.21 H.Funayama */
  4.  
  5. #include <stdio.h>
  6. #define DATAMAX 10
  7.  
  8. int main(void) {
  9. int n = 0;
  10. int number;
  11. int data[DATAMAX];
  12. int *pd = data; /* ポインタ */
  13.  
  14. printf("好きな正の整数をいくつか入力してください。\n");
  15. printf("終了するときはゼロを入力してください\n");
  16.  
  17. scanf("%d", &number);
  18.  
  19.  
  20. while (number != 0) {
  21. *(pd + n) = number;
  22. n++;
  23.  
  24. if (n == DATAMAX) {
  25. printf("データ数の上限 %d を越えました。\n", DATAMAX);
  26. break;
  27. }
  28.  
  29. scanf("%d", &number);
  30. }
  31.  
  32. if (n > 0) {
  33. int *p = pd + n - 1;
  34.  
  35. while (p >= pd) {
  36. printf("%d ", *p);
  37. p--;
  38. }
  39. }
  40.  
  41. printf("\n終了します。\n");
  42. return 0;
  43. }
Success #stdin #stdout 0s 5320KB
stdin
10 0
stdout
好きな正の整数をいくつか入力してください。
終了するときはゼロを入力してください
10 
終了します。