This will print the ascii characters from 0 to 1000 if the
datat type of the variable c is other than character. If the
datatype of the variable is char then it will be into
infinite loop.
It will give a compilation error..
the for loop syntax is
for(initialize; condition ; inc / dec)
condition -> assignment operator is wrong..
there should be 2 equals ("==")..
it will come out of the for loop & hence no output.
because,when c=0,then for next condition it will check
whether 0==1000,the condition fails here itself only.
so,it doesn't go for executing any statement.
The output of the given program is the character or ascii
value of 0,1,2,..........so on up to the stack of memory
get full.The reason behind it is the condition for
termination is not given in the for loop,because c=1000 is
assingment operator not a conditional.
It goes into an infinite loop.
The compiler will check only the syntax, it is upto the
programmer to implement correct logic.
other than initialization, c is always 1000 and there is no
condition to be break the loop
Warnings:
Test expression for for is assignment expression: c = 1000
The condition test is an assignment expression. Probably,
you mean to use == instead of =. If an assignment is
intended, add an extra parentheses nesting(e.g., if ((a =
b)) ...) to suppress this message. (Use -predassign to
inhibit warning)
Test expression for for not boolean, type int: c = 1000.
Test expression type is not boolean or int. (Use
-predboolint to inhibit warning)