Find Output Of Program

Question 1 :

What will be the output of the program (myprog.c) given below if it is executed from the command line?
cmd> myprog one two three

/* myprog.c */
#include < stdio . h >

int main(int argc, char **argv)
{
    printf("%c\n", **++argv);
    return 0;
}


A). myprog one two three
B). myprog one
C). o
D). two
Answer : Option C

Question 2 :

What will be the output of the program (myprog.c) given below if it is executed from the command line?
cmd> myprog one two three

/* myprog.c */
#include < stdio . h >
#include < stdlib . h >

int main(int argc, char **argv)
{
    printf("%s\n", *++argv);
    return 0;
}


A). myprog
B). one
C). two
D). three
Answer : Option B

Question 3 :

What will be the output of the program (sample.c) given below if it is executed from the command line (Turbo C in DOS)?
cmd> sample 1 2 3

/* sample.c */
#include < stdio . h >
int main(int argc, char *argv[])
{
    int j;
    j = argv[1] + argv[2] + argv[3];
    printf("%d", j);
    return 0;
}


A). 6
B). sample 6
C). Error
D). Garbage value
Answer : Option C

Explanation :

Here argv[1], argv[2] and argv[3] are string type. We have to convert the string to integer type before perform arithmetic operation.

Example: j = atoi(argv[1]) + atoi(argv[2]) + atoi(argv[3]);


Question 4 :

What will be the output of the program (sample.c) given below if it is executed from the command line (turbo c under DOS)?
cmd> sample Good Morning

/* sample.c */
#include < stdio . h >
int main(int argc, char *argv[])
{
    printf("%d %s", argc, argv[1]);
    return 0;
}


A). 3 Good
B). 2 Good
C). Good Morning
D). 3 Morning
Answer : Option A

Question 5 :

What will be the output of the program

#include < stdio . h >
void fun(int);
int main(int argc)
{
    printf("%d ", argc);
    fun(argc);
    return 0;
}
void fun(int i)
{
    if(i!=4)
        main(++i);
}


A). 1 2 3
B). 1 2 3 4
C). 2 3 4
D). 1
Answer : Option B