Question
1.
2.
3.
4.
Answer (Detailed Solution Below)
Option 3 : 10
Advertisement
Detailed Solution
सही उत्तर 10 है।
Key Points
Helpful?
Question:
What is the output of the following C code? int a[5] = {10, 20, 30, 40, 50}; int *p = a + 2; printf("%d", *(p+1) - *p); / निम्नलिखित C कोड का आउटपुट क्या है? int a[5] = {10, 20, 30, 40, 50}; int *p = a + 2; printf("%d", *(p+1) - *p);
1.
20
2.
30
3.
10
4.
garbage value (undefined behaviour) / कचरा मान (अपरिभाषित व्यवहार)
Correct Answer: 10
p points to a[2] (30), p+1 points to a[3] (40). So *(p+1) - *p = 40 - 30 = 10. Pointer arithmetic steps by sizeof(int), so no undefined behaviour occurs here. / p, a[2] (30) की ओर इशारा करता है, p+1, a[3] (40) की ओर। अतः *(p+1) - *p = 40 - 30 = 10। पॉइंटर अंकगणित sizeof(int) के चरणों में बढ़ता है, अतः यहाँ कोई अपरिभाषित व्यवहार नहीं है।
Downloaded from PrepSnap (prepsnap.in)