Exercise: Python

Questions for: Functions

What will be the output of the program?
#include<stdio.h>

int main()
{
    int i=1;
    if(!i)
        printf("ExamAdept,");
    else
    {
        i=0;
        printf("C-Program");
        main();
    }
    return 0;
}
A:
prints "ExamAdept, C-Program" infinitely
B:
prints "C-Program" infinetly
C:
prints "C-Program, ExamAdept" infinitely
D:
Error: main() should not inside else statement
Answer: B

Step 1: int i=1; The variable i is declared as an integer type and initialized to 1(one).

Step 2: if(!i) Here the !(NOT) operator reverts the i value 1 to 0. Hence the if(0) condition fails. So it goes to else part.

Step 3: else { i=0; In the else part variable i is assigned to value 0(zero).

Step 4: printf("C-Program"); It prints the "C-program".

Step 5: main(); Here we are calling the main() function.

After calling the function, the program repeats from step 1 to step 5 infinitely.

Hence it prints "C-Program" infinitely.

What will be the output of the program?
#include<stdio.h>
int fun(int, int);
typedef int (*pf) (int, int);
int proc(pf, int, int);

int main()
{
    printf("%d\n", proc(fun, 6, 6));
    return 0;
}
int fun(int a, int b)
{
   return (a==b);
}
int proc(pf p, int a, int b)
{
   return ((*p)(a, b));
}
A:
6
B:
1
C:
0
D:
-1
Answer: B
No answer description is available. Let's discuss.
What will be the output of the program?
#include<stdio.h>
int check (int, int);

int main()
{
    int c;
    c = check(10, 20);
    printf("c=%d\n", c);
    return 0;
}
int check(int i, int j)
{
    int *p, *q;
    p=&i;
    q=&j;
    i>=45 ? return(*p): return(*q);
}
A:
Print 10
B:
Print 20
C:
Print 1
D:
Compile error
Answer: D

There is an error in this line i>=45 ? return(*p): return(*q);. We cannot use return keyword in the terenary operators.

What will be the output of the program?
#include<stdio.h>

int main()
{
    int fun(int);
    int i = fun(10);
    printf("%d\n", --i);
    return 0;
}
int fun(int i)
{
   return (i++);
}
A:
9
B:
10
C:
11
D:
8
Answer: A

Step 1: int fun(int); Here we declare the prototype of the function fun().

Step 2: int i = fun(10); The variable i is declared as an integer type and the result of the fun(10) will be stored in the variable i.

Step 3: int fun(int i){ return (i++); } Inside the fun() we are returning a value return(i++). It returns 10. because i++ is the post-increement operator.

Step 4: Then the control back to the main function and the value 10 is assigned to variable i.

Step 5: printf("%d\n", --i); Here --i denoted pre-increement. Hence it prints the value 9.

What will be the output of the program?
#include<stdio.h>

int main()
{
    void fun(char*);
    char a[100];
    a[0] = 'A'; a[1] = 'B';
    a[2] = 'C'; a[3] = 'D';
    fun(&a[0]);
    return 0;
}
void fun(char *a)
{
    a++;
    printf("%c", *a);
    a++;
    printf("%c", *a);
}
A:
AB
B:
BC
C:
CD
D:
No output
Answer: B
No answer description is available. Let's discuss.
Ad Slot (Above Pagination)
Quiz