GATE CS 2017 Set 1 — Question 53
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.NAT+2 / -0MediumData Types & OperatorsC ProgrammingProgramming & Data StructuresArrays & Strings in C
Programming & Data Structures → C Programming → Arrays & Strings in C
Last updated
Question
Consider the following C program.Recall that
#include <stdio.h>
#include <string.h>
void printlength(char *s, char *t) {
unsigned int c = 0;
int len = ((strlen(s) - strlen(t)) > c) ? strlen(s) : strlen(t);
printf("%d\n", len);
}
void main() {
char *x = "abc";
char *y = "defgh";
printlength(x, y);
}
strlen is defined in string.h as returning a value of type size_t, which is an unsigned int. The output of the program is ________.Correct answer
3 to 3
Solution
The program compares the lengths of two strings,
x ("abc") and y ("defgh").1.
strlen(x) is 3.2.
strlen(y) is 5.3.The expression in the ternary operator is
(strlen(s) - strlen(t)) > c.4.
strlen returns size_t (unsigned int). The subtraction 3 - 5 is performed using unsigned arithmetic.5.In unsigned arithmetic,
3 - 5 wraps around to a very large positive integer (specifically or similar depending on word size, e.g., UINT_MAX - 1).6.Since
c is 0, the comparison (large positive number) > 0 is true.7.Consequently, the ternary operator selects the first branch:
strlen(s), which is 3.8.The program prints
3.Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on C Programming
2026 Set 2 Q12The set T represents various traversals over binary tree. The set S represents the order of…2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q23Let be an odd number greater than 100. Consider a binary minheap with elements stored in an…2026 Set 1 Q24Consider a hash table that is initially empty. The hash table is maintained…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]