1樓:修和玉於旋
c4=(x>=0?'+':'-');
如果x>=0,c4='+';如果是負數c4='-';
c3=x%10+48;
這個寫得不好
c3=x%10+'0';之後的一樣
48是字元'0'的ascii碼值,你看到的字元必須是ascii碼才能%c顯示。
下面是等式,幫助你理解ascii
5+'0'=5+48=53=0x35='5'
十進位制十六進製制
字元48300
4931
1......
5739
9........
6541a66
42b......
2樓:歐鵬煊醜蕭
本程式是將乙個3位數分解輸出吧!
先說48,是0的ascii值。
因為程式將c1,c2,c3定義為字元型別,所以加上48,輸出字元型別的數值。
且輸出的時候printf("%c\n%c\n%c\n",c1,c2,c3);都是以字元的形式輸出的。
假設x=123
c3=x%10+48;
是求出個位數,所以x%10的結果是3,c3=3+48=51而51對應的ascii值就是'3
'。一下的類推。
x=x/10;將123變為12
c2=12%10+48---->c2=2+48=50---->'2'(2的
ascii值是50
)c1=12/10+48;----->c1=1+48=49----->'1
'(1的
ascii值是49
)c3='3
', c2='2
',c1='1'
解釋c語言程式,解釋C語言程式
include 包含標頭檔案stdio.h void dec2hex int n,char str 函式dec2hex,沒有返回值,帶乙個整型引數和乙個字串陣列引數 while n 0 n大於0時繼續執行do.while str m 0 把字元 0 字串的結束字元 賦給str m for i 0,j...
c語言程式疑問,C語言程式疑問?
include include include void reverse char p void user itoa int ndigital,char pch ptmp 0 reverse pch void main system pause 求採納為滿意回答。讀取掉緩衝區中的回車符,這樣你下次輸...
C語言程式問題,程式如下,c語言程式,詳細問題如下
1原型 extern int strcmp const char s1,const char s2 所在標頭檔案 string.h 功能 比較字串s1和s2。一般形式 strcmp 字串1,字串2 說明 當s1s2時,返回正數 注意不是1 即 兩個字串自左向右逐個字元相比 按ascii值大小相比較 ...
c語言程式
12.前若是0則不執行後面的 輸出12 即輸出的時候k值為1,n值為2 理由是,while括號裡面的表示式,意義是邏輯與的短路表示式。k 為後增量 k 0時,進行了邏輯運算,k 0所以邏輯值為假,造成短路,即後面的n 2不會被執行,直接是while迴圈退出。此時k 後增量已經使k值變為1.這就是後面...
有關c語言程式相關基礎及提公升的問題
1 include是呼叫你在寫程式時所需要的程式包或者某個別的程式檔案,編譯肯定是連同呼叫的函式一起編譯,呼叫的函式越多程式就越大。2 eeprom具有掉電不丟失資料的作用,多用於掉電儲存資料。以前的微控制器自身rom不是很大,當編寫的程式比較大時,就要擴充套件eeprom來存放程式了 現在的微控制...