Class 6 Exam  >  Class 6 Questions  >  What will be the output of the following C co... Start Learning for Free
What will be the output of the following C code?
    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char *str = "x";
        char c = 'x';
        char ary[1];
        ary[0] = c;
        printf("%d %d", strlen(str), strlen(ary));
        return 0;
    }
  • a)
    1 1
  • b)
    2 1
  • c)
    2 2
  • d)
    1 (undefined valu
Correct answer is option 'D'. Can you explain this answer?
Most Upvoted Answer
What will be the output of the following C code? #include <stdio.h...
Explanation:
- Variable Initialization:
- The variable `str` is initialized with a string literal "x".
- The variable `c` is initialized with the character 'x'.
- The array `ary` is initialized with a size of 1.
- Assigning Value:
- The character 'x' is assigned to the first element of the array `ary`.
- Calculating Length:
- The `strlen()` function is used to calculate the length of a string.
- `strlen(str)` will return 1 because the string "x" has a length of 1 character.
- `strlen(ary)` will return an undefined value because the `ary` array is not null-terminated, so `strlen()` will continue reading memory until it finds a null terminator, which may result in an undefined value.
- Output:
- The `printf()` function will print the lengths of the string `str` and array `ary` separated by a space.
- So, the output will be `1 (undefined value)`.
Therefore, the correct answer is option 'D' - `1 (undefined value)`.
Free Test
Community Answer
What will be the output of the following C code? #include <stdio.h...
str is null terminated, but ary is not null terminated.
Output:
$ cc pgm7.c
$ a.out
1 5
Attention Class 6 Students!
To make sure you are not studying endlessly, EduRev has designed Class 6 study material, with Structured Courses, Videos, & Test Series. Plus get personalized analysis, doubt solving and improvement plans to achieve a great score in Class 6.
Explore Courses for Class 6 exam

Top Courses for Class 6

What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer?
Question Description
What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer? for Class 6 2024 is part of Class 6 preparation. The Question and answers have been prepared according to the Class 6 exam syllabus. Information about What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer? covers all topics & solutions for Class 6 2024 Exam. Find important definitions, questions, meanings, examples, exercises and tests below for What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer?.
Solutions for What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer? in English & in Hindi are available as part of our courses for Class 6. Download more important topics, notes, lectures and mock test series for Class 6 Exam by signing up for free.
Here you can find the meaning of What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer? defined & explained in the simplest way possible. Besides giving the explanation of What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer?, a detailed solution for What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer? has been provided alongside types of What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer? theory, EduRev gives you an ample number of questions to practice What will be the output of the following C code? #include <stdio.h> #include <string.h> int main() { char *str = "x"; char c = x; char ary[1]; ary[0] = c; printf("%d %d", strlen(str), strlen(ary)); return 0; }a)1 1b)2 1c)2 2d)1 (undefined valuCorrect answer is option 'D'. Can you explain this answer? tests, examples and also practice Class 6 tests.
Explore Courses for Class 6 exam

Top Courses for Class 6

Explore Courses
Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev