मैं इस बारे में उलझन में हूं कि printf के मामले में सामान्य रूप से प्रचार कैसे होता है। मैं निम्नलिखित कोड की कोशिश कीprintf प्रकार पदोन्नति और साइन एक्सटेंशन
unsigned char uc = 255
signed char sc = -128
printf("unsigned char value = %d \n", uc);
printf("signed char value = %d \n", sc);
यह निम्न उत्पादन देता है:
unsigned char value = 255
signed char value = -128
यह मैं छोड़ दिया है कैसे पदोन्नति वास्तव में जगह लेता है के बारे में और क्या निशानी विस्तार होता है या नहीं सोच रहा। यदि कोई साइन एक्सटेंशन किया जाता है तो मूल्य 255 को नकारात्मक मान के रूप में मुद्रित किया जाना चाहिए (-128 वही शेष) और यदि कोई साइन एक्सटेंशन नहीं किया जाता है तो -128 को सकारात्मक मान के रूप में मुद्रित किया जाना चाहिए था (255 वही शेष)। कृपया समझाएँ।