Q:

While-loop in c

what is different between while(0) and while (1 or another number ) ??
int main() {
   do {
      printf("Math ");
   } while (0);

   printf("Computer");
}

A:

while (cond) { ... } and do { ... } while (cond); execute the loop as long as the condition is true. The former checks the condition before each pass of the loop, while the latter checks the condition after each pass of the loop.
0 is a false value.
1 and other numbers are true values.
while (0) { ... } is useless. It's a loop that will never be executed.
while (1) { ... } is a infinite loop. Something like break, return or exit is needed to leave it.
do { ... } while (0); is a weird way of writing { ... }.[1]
do { ... } while (1); is a weird way of writing while (1) { ... }.

do { ... } while (0) has use in macros.

