fork download
  1. #include <stdio.h>
  2.  
  3. #define MAX 100
  4.  
  5. int stack[MAX];
  6. int sp = 0;
  7.  
  8. /* push */
  9. void push(int data) {
  10. stack[sp] = data;
  11. sp++;
  12. }
  13.  
  14. /* pop */
  15. int pop() {
  16. sp--;
  17. return stack[sp];
  18. }
  19.  
  20. int main() {
  21. int data[] = {11, 12, 13, 14, 15};
  22. int i;
  23. int size = 5;
  24.  
  25. /* 配列の値をスタックに積む */
  26. for (i = 0; i < size; i++) {
  27. push(data[i]);
  28. }
  29.  
  30. /* 取り出して逆順に格納 */
  31. for (i = 0; i < size; i++) {
  32. data[i] = pop();
  33. }
  34.  
  35. /* 結果表示 */
  36. printf("逆順にした配列: ");
  37. for (i = 0; i < size; i++) {
  38. printf("%d ", data[i]);
  39. }
  40. printf("\n");
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
逆順にした配列: 15 14 13 12 11