edited by
299 views
3 votes
3 votes

Choose the correct operators to fill in the blanks:

int i,j,k;
i=1;j=2;k=3;
printf("%d",i___5___j___2____k);

Output is: $2$

 

  1. +  % –  +
  2. *  /  –  +
  3. +  %  +  /
  4. * % –  /
edited by

1 Answer

Best answer
2 votes
2 votes



precedence

*,/,%  L->R

+,-    L->R

 

  • A) i+5%j-2+k

i+1-2+k

= 2-2+k

= 0+k
= 3

  • B) i * 5 / j - 2 + k

5/j-2+k
= 2-2+k
= 0+k
= 3

  • C) i +5% j +2 /k

i+1+2/k
= i+1+0
= 2

  • D) i * 5% j -2/ k

i*5 %2 -2/k
=5%2 - 2/k
= 1 - 2/3

= 1 - 0

= 1

So, answer is option C .

selected by
Answer:

Related questions

3 votes
3 votes
1 answer
1
Bikram asked May 14, 2017
392 views
Assume that $a[4]$ is a one-dimensional array of $4$ elements, $p$ is a pointer variable and $p = a$ is performed. Now, which among these expressions is illegal?$p == a[0...
0 votes
0 votes
1 answer
2
Bikram asked May 14, 2017
351 views
Spot the error(s) in this code snippet :int n=2; // Line 1 switch(n) { case 1.5: printf( "gate"); break; case 2: printf( "overflow"); break; case 'A': printf("gateoverflo...
0 votes
0 votes
1 answer
3
Bikram asked May 14, 2017
199 views
#include<stdio.h int K = 10; int main() { foo(); foo(); return 0; } int foo() { static int k= 1; printf("%d ",k); k++; return 0; }What is the output of the above code sni...
0 votes
0 votes
1 answer
4
Bikram asked May 14, 2017
202 views
What is the output of the following program? int fun (int z) { if( z==0 || z==1 ) return 1; else return fun(z-1) ; } int main() { int y; y=fun(8); printf(“%d”...