8,434 views
1 votes
1 votes
#include<stdio.h>
int func(){
return (double)(char)5.0;
}

What will be the data type returned?

A)char

B)int

C)double

D)multiple type casting in return is illegal

1 Answer

Best answer
2 votes
2 votes

Int will be returned because the (type) operator has right to left associativity. Thus first 5.0 is typecast to char then to double and at the end return type of function is int so B should be the answer.

selected by

Related questions

0 votes
0 votes
1 answer
1
Debargha Mitra Roy asked 2 days ago
47 views
#include <stdio.h int main() { int a[3] = {1, 3, 5, 7, 9, 11}; int *ptr = a[0]; ptr += sizeof(int); printf("%d", *ptr); return 0; }(Assume size of int to be $2$ bytes.)T...
0 votes
0 votes
2 answers
3
Debargha Mitra Roy asked Apr 10
103 views
What is the output of the below code?#include <stdio.h void main() { static int var = 5; printf("%d ", var ); if (var) main(); }a. 1 2 3 4 5b. 1c. 5 4 3 2 1d. Error
1 votes
1 votes
0 answers
4
RahulVerma3 asked Mar 22
141 views
My question is that can we use command line arguments without use of main function's parameters argc and *argv?