C Programming - Control Instructions - Discussion
Discussion Forum : Control Instructions - General Questions (Q.No. 2)
2.
How many times the while loop will get executed if a short int is 2 byte wide?
#include<stdio.h>
int main()
{
int j=1;
while(j <= 255)
{
printf("%c %d\n", j, j);
j++;
}
return 0;
}
Answer: Option
Explanation:
The while(j <= 255) loop will get executed 255 times. The size short int(2 byte wide) does not affect the while() loop.
Discussion:
59 comments Page 1 of 6.
Abhijeet Dhumal said:
2 years ago
Answer is 255.
I agree with the given answer.
I agree with the given answer.
(2)
Dhanush said:
1 decade ago
@prem.
We are using character only in printf statement. not in condition. in while(j<=255) j is an integer variable. So in printf statemnt for %c it will print from 1,2.....127,-128,-127.....0 so exactly after 255 times of the execution of the loop. The condition fail and loop will be terminated.
We are using character only in printf statement. not in condition. in while(j<=255) j is an integer variable. So in printf statemnt for %c it will print from 1,2.....127,-128,-127.....0 so exactly after 255 times of the execution of the loop. The condition fail and loop will be terminated.
(1)
Priya said:
8 years ago
int a;
for(a=1;a<=32767;a++)
printf("%d",a);
Why it results in an infinite loop? Please explain.
for(a=1;a<=32767;a++)
printf("%d",a);
Why it results in an infinite loop? Please explain.
(1)
Abdulla.S said:
4 years ago
Suppose the size of the short int is 5 bytes, then what would happen? please explain to me.
(1)
Ahmedation said:
9 years ago
It will be infinite number of loops truly but if only the variable type was signed/unsigned char.
Prem said:
1 decade ago
If int is not mentioned signed or unsigned then we take default signed.here we are showing character too so it will execute upto +127 then it goes to -127,-126.....,0,1,.....127 that mean it will execute infinite times.
Viplov said:
1 decade ago
J=1 and while (j <= 255).
J start from 1 to 255 and run only 255 times, it goes to 255 because of <= if this sign is only < then it goes to only 1 to 254 and run only 254 times.
J start from 1 to 255 and run only 255 times, it goes to 255 because of <= if this sign is only < then it goes to only 1 to 254 and run only 254 times.
Rahul said:
1 decade ago
#include<stdio.h>
int main()
{
char result[50];
float num = 23.34;
sprintf(result, "%f", num);
printf("\n The string for the num is %s", result);
getchar();
}
This program shows an error output too large. Can anyone tell me why this error is occuring?
int main()
{
char result[50];
float num = 23.34;
sprintf(result, "%f", num);
printf("\n The string for the num is %s", result);
getchar();
}
This program shows an error output too large. Can anyone tell me why this error is occuring?
Vishal Naik said:
1 decade ago
Do it manually for a shorter number, ex while(j <= 3), you will get the answer as 3. Similarly when while(j <= 255), Answer is 255.
Ashish said:
1 decade ago
Since the int is 2 bytes here, wouldn't it become zero and the loop continue indefinitely. Please Help to clear this doubt.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers