#include<stdio.h>
#define TRUE 1
void main(){
switch(TRUE){
printf("cquestionbank.blogspot.com");
}
}
Answer: It will print nothing
Explanation:
swtich statement ko bina case statement ke likh sakte hain but print kuch ni hoga.
#include<stdio.h>
#define L 10
void main(){
auto money=10;
switch(money,money*2){
case L: printf("Willian");
break;
case L*2:printf("Warren");
break;
case L*3:printf("Carlos");
break;
default: printf("Lawrence");
case L*4:printf("Inqvar");
break;
}
}
Answer: Warren
,comaa operator precendence bhi define karta hai so money*2 higher precedence hoga so 20 pass hoga.
#include<stdio.h>
void main(){
int const X=0;
switch(5/4/3){
case X: printf("Clinton");
break;
case X+1:printf("Gandhi");
break;
case X+2:printf("Gates");
break;
default: printf("Brown");
}
}
Answer: Compilation error.
Explanation:
case expression ki constant value ni ho sakti so compilation error.
#include<stdio.h>
void main(){
switch(6){
case 6.0f:printf("Sangakkara");
break;
case 6.0: printf("Sehwag");
break;
case 6.0L:printf("Steyn");
break;
default: printf("Smith");
}
}
Answer: Compilation error.
Expression:
case expression interger constant expression hota hai and agar ni hota hai to vo automatically typecast kar deta hai integer mein.so
6.0f
6.0
6.0L
ye sab 6 mein typecast ho jaaenge and c mein duplicate case aalow ni hai so its a compilation error.
#include<stdio.h>
void main(){
switch(0X0){
case NULL:printf("Thierry Henry");
break;
case '\0':printf("Steven Gerrend");
break;
case 0: printf("Kaka");
break;
default: printf("Michael Ballack");
}
Answer : Compilation error.
Explanation:
c mein null ki value zero hoti hai and character constant \0 ki value bhi zero hoti hai so again duplicate case expression.
