#include <stdio.h>
#include <stdlib.h>
typedef struct linkedlist{
struct linkedlist *NEXT_ptr;
struct linkedlist *PREVIEW_ptr;
struct linkedlist *STATUS;
}list_t;
int main(void){
list_t DUMMY;
list_t
*HEAD
=malloc(sizeof(list_t
)); list_t
*END
=malloc(sizeof(list_t
)); ///mallocによる動的確保のコードは省略しました。
HEAD->NEXT_ptr = END;
HEAD->PREVIEW_ptr = END;
HEAD->STATUS = &DUMMY;
///リスト構造をHEADとENDでつくりました。
END->NEXT_ptr = HEAD;
END->PREVIEW_ptr = HEAD;
END->STATUS = NULL; ///ループの終了条件につかいます。
while(HEAD->STATUS != NULL)
{
int COUNT = 0;
printf("%d\n",COUNT
++); ///ここまでは実行されます。
if(HEAD->STATUS == &DUMMY)
{
printf("SUCCESS-DUMMY\n"); ///実行されない break; ///実行されない
}
else if(HEAD->STATUS == NULL)
{
puts("SUCCESS-NULL"); ///実行されない printf("%d\n",COUNT
); ///実行されない }
HEAD = HEAD->NEXT_ptr;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnR5cGVkZWYgc3RydWN0IGxpbmtlZGxpc3R7CiAgICAgICAgc3RydWN0IGxpbmtlZGxpc3QgKk5FWFRfcHRyOwogICAgICAgIHN0cnVjdCBsaW5rZWRsaXN0ICpQUkVWSUVXX3B0cjsKICAgICAgICBzdHJ1Y3QgbGlua2VkbGlzdCAqU1RBVFVTOwp9bGlzdF90OwogCmludCBtYWluKHZvaWQpewogCiAgICAgICAgbGlzdF90ICBEVU1NWTsKICAgICAgICBsaXN0X3QgKkhFQUQ9bWFsbG9jKHNpemVvZihsaXN0X3QpKTsKICAgICAgICBsaXN0X3QgKkVORD1tYWxsb2Moc2l6ZW9mKGxpc3RfdCkpOyAgICAgIC8vL21hbGxvY+OBq+OCiOOCi+WLleeahOeiuuS/neOBruOCs+ODvOODieOBr+ecgeeVpeOBl+OBvuOBl+OBn+OAggogCiAKICAgICAgICBIRUFELT5ORVhUX3B0ciA9IEVORDsKICAgICAgICBIRUFELT5QUkVWSUVXX3B0ciA9IEVORDsKICAgICAgICBIRUFELT5TVEFUVVMgPSAmRFVNTVk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vL+ODquOCueODiOani+mAoOOCkkhFQUTjgahFTkTjgafjgaTjgY/jgorjgb7jgZfjgZ/jgIIKICAgICAgICBFTkQtPk5FWFRfcHRyID0gSEVBRDsKICAgICAgICBFTkQtPlBSRVZJRVdfcHRyID0gSEVBRDsKICAgICAgICBFTkQtPlNUQVRVUyA9IE5VTEw7ICAgLy8v44Or44O844OX44Gu57WC5LqG5p2h5Lu244Gr44Gk44GL44GE44G+44GZ44CCCiAKICAgICAgICB3aGlsZShIRUFELT5TVEFUVVMgIT0gTlVMTCkKICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQgQ09VTlQgPSAwOwogICAgICAgICAgICAgICAgcHJpbnRmKCIlZFxuIixDT1VOVCsrKTsgICAvLy/jgZPjgZPjgb7jgafjga/lrp/ooYzjgZXjgozjgb7jgZnjgIIKIAogICAgICAgICAgICAgICAgaWYoSEVBRC0+U1RBVFVTID09ICZEVU1NWSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJTVUNDRVNTLURVTU1ZXG4iKTsgIC8vL+Wun+ihjOOBleOCjOOBquOBhAogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsgICAgICAgICAgICAgICAgICAvLy/lrp/ooYzjgZXjgozjgarjgYQKICAgICAgICAgICAgICAgICB9CiAgICAgICAgCiAgICAgICAgICAgICAgICBlbHNlIGlmKEhFQUQtPlNUQVRVUyA9PSBOVUxMKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBwdXRzKCJTVUNDRVNTLU5VTEwiKTsgICAvLy/lrp/ooYzjgZXjgozjgarjgYQKICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZFxuIixDT1VOVCk7ICAgLy8v5a6f6KGM44GV44KM44Gq44GECiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIEhFQUQgPSBIRUFELT5ORVhUX3B0cjsgICAgCiAgICAgICAgIH0KIAogICAgICAgIGZyZWUoSEVBRCk7CiAgICAgICAgZnJlZShFTkQpOwogICAgICAgIHJldHVybiAwOwogfQ==