Question
Download Solution PDFWhat is the output of the following program?
#include <stdio.h >
# define SQR(x) (x*x)
int main()
{ int a, b = 3;
a=SQR(b+2);
printf("%d",a);
return 0;
}
Answer (Detailed Solution Below)
Detailed Solution
Download Solution PDFThe correct answer is 11
EXPLANATION:
The code defines a macro SQR(x) that squares its argument. The macro is defined as (x*x). When SQR(b+2) is evaluated, it becomes (b+2*b+2), not (b+2)*(b+2), because of how the preprocessor substitutes macro definitions.
#include <stdio.h > # define SQR(x) (x*x) int main() { int a, b = 3; a=SQR(b+2); printf("%d",a); return 0; }
So, given b=3, (b+2*b+2) will be equal to (3+2*3+2), which equals 11.
Hence, the answer is 2) 11.
Last updated on Jun 6, 2025
-> The UGC NET Exam Schedule 2025 for June has been released on its official website.
-> The UGC NET Application Correction Window 2025 is available from 14th May to 15th May 2025.
-> The UGC NET 2025 online application form submission closed on 12th May 2025.
-> The June 2025 Exam will be conducted from 21st June to 30th June 2025
-> The UGC-NET exam takes place for 85 subjects, to determine the eligibility for 'Junior Research Fellowship’ and ‘Assistant Professor’ posts, as well as for PhD. admissions.
-> The exam is conducted bi-annually - in June and December cycles.
-> The exam comprises two papers - Paper I and Paper II. Paper I consists of 50 questions and Paper II consists of 100 questions.
-> The candidates who are preparing for the exam can check the UGC NET Previous Year Papers and UGC NET Test Series to boost their preparations.