Я пытаюсь реализовать goto в троичном операторе:
Итак, вот что я делаю:
(a<5 && done==0) ? ({goto dd;}) : ({goto ee;});
С этими скобками я пытаюсь преобразовать выражение в выражение .
Проблема в том, что обе метки выполняются. Почему?
Вот код ( Идеальная ссылка ):
#include<stdio.h>
int main()
{
int a=0,sum=0;
int done=0;
(a<5 && done==0) ? ({goto dd;}) : ({goto ee;});
dd:
printf("%d - %d -- %d\n",a,sum,done);
++a,sum+=a;
ee:
printf("done\n");
done=1;
return 0;
}