मैं अब सी में तारों के बारे में सीख रहा हूं।स्कैनफ़ को तारों के लिए एम्पर्सेंड की आवश्यकता क्यों नहीं है और printf (सी में) में भी ठीक काम करता है?
कैसे scanf का उपयोग करने के लिए एक स्ट्रिंग प्राप्त करने के लिए आप
scanf("%s",str1);
और printf के लिए आप कर सकते हैं कर सकते हैं आ
printf("The string is %s\n", str1);
मैं समझता हूँ कि scanf के लिए है क्योंकि स्ट्रिंग सिर्फ एक चरित्र है सरणी जो एक सूचक है, लेकिन printf के लिए, यह कैसे है कि आप केवल वैरिएबल नाम डाल सकते हैं जैसे आप एक int या float के लिए चाहते हैं?
अधिक सटीक रूप से, सरणी प्रकार की अभिव्यक्ति पूरी तरह से सरणी के पहले तत्व में सूचक के लिए ("क्षय") परिवर्तित होती है लेकिन सभी संदर्भ नहीं। एक फ़ंक्शन तर्क उन संदर्भों में से एक होता है जहां रूपांतरण होता है। –