क्या मैं अहस्ताक्षरित numerics (अहस्ताक्षरित छोटा है, पूर्णांक और देशांतर) के बारे में पता है, कि यह सकारात्मक संख्या केवल शामिल हैं, लेकिन निम्नलिखित सरल कार्यक्रम को सफलतापूर्वक एक अहस्ताक्षरित पूर्णांक के लिए एक नकारात्मक संख्या आवंटित:क्यों अहस्ताक्षरित int नकारात्मक संख्या
1 /*
2 * =====================================================================================
3 *
4 * Filename: prog4.c
5 *
6 * =====================================================================================
7 */
8
9 #include <stdio.h>
10
11 int main(void){
12
13 int v1 =0, v2=0;
14 unsigned int sum;
15
16 v1 = 10;
17 v2 = 20;
18
19 sum = v1 - v2;
20
21 printf("The subtraction of %i from %i is %i \n" , v1, v2, sum);
22
23 return 0;
24 }
उत्पादन होता है: The subtraction of 10 from 20 is -10
इसके अलावा, आपका संदेश भ्रामक है। यह कहना चाहिए "** ** ** से ** ** ** ** का घटाव ..." है जो आप गणना कर रहे हैं। –
मैं ऐसी समस्या के समाधान की तलाश नहीं कर रहा हूं, मैं इसके बारे में विचार समझना चाहता हूं। –
[सी बिना हस्ताक्षर किए गए int को ऋणात्मक मूल्य प्रदान करने का संभावित डुप्लिकेट?] (Http://stackoverflow.com/questions/1831753/c-unsigned-int-providing-a-negative-value) –