fork download
  1. #include <stdio.h>
  2.  
  3. typedef struct linkedlist{
  4. struct linkedlist *NEXT_ptr;
  5. struct linkedlist *PREVIEW_ptr;
  6. struct linkedlist *STATUS;
  7. }list_t;
  8.  
  9. int main(void){
  10.  
  11. list_t DUMMY;
  12. list_t *HEAD;
  13. list_t *END; ///mallocによる動的確保のコードは省略しました。
  14.  
  15.  
  16. HEAD->NEXT_ptr = END;
  17. HEAD->PREVIEW_ptr = END;
  18. HEAD->STATUS = &DUMMY;
  19. ///リスト構造をHEADとENDでつくりました。
  20. END->NEXT_ptr = HEAD;
  21. END->PREVIEW_ptr = HEAD;
  22. END->STATUS = NULL; ///ループの終了条件につかいます。
  23.  
  24. while(HEAD->STATUS != NULL)
  25. {
  26. int COUNT = 0;
  27. printf("%d\n",COUNT++); ///ここまでは実行されます。
  28.  
  29. if(HEAD->STATUS == &DUMMY)
  30. {
  31. printf("SUCCESS-DUMMY\n"); ///実行されない
  32. break; ///実行されない
  33. }
  34.  
  35. else if(HEAD->STATUS == NULL)
  36. {
  37. puts("SUCCESS-NULL"); ///実行されない
  38. printf("%d\n",COUNT); ///実行されない
  39. }
  40.  
  41. HEAD = HEAD->NEXT_ptr;
  42. }
  43.  
  44. free(HEAD);
  45. free(END);
  46. return 0;
  47. }
Runtime error #stdin #stdout 0s 2288KB
stdin
Standard input is empty
stdout
Standard output is empty