#include < stdio.h >
char fun(char ch)
{
if (ch >= '0' && ch<='9')
//return '9' - (ch-'0'); 為什么改成下面那個會出亂碼
return '9' - ch;
return ch;
}
int main()
{
char c1, c2;
printf("\nThe result :\n");
c1 = '2';
c2 = fun(c1);
printf("c1=%c c2=%c\n", c1, c2);
c1 = '8'; c2 = fun(c1);
printf("c1=%c c2=%c\n", c1, c2);
c1 = 'a'; c2 = fun(c1);
printf("c1=%c c2=%c\n", c1, c2);
}
[code=c][code=c][/code][/code]
uj5u.com熱心網友回復:
//return '9' - (ch-'0'); 為什么改成下面那個會出亂碼return '9' - ch;
//////////////////
(ch-'0')轉換成了數值
return '9' - (ch-'0'); 為'9'- 數值,結果為字符‘0’到‘9’
return '9' - ch; 為'9' - 字符,結果為數值 0-9
uj5u.com熱心網友回復:
因為'9'-'1'和'9'-1是不一樣的。第一個得8,第二個得'8',這樣輸出的'8'還是8,輸出的8是啥呢,可以查一下ASCII表轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/269204.html
標籤:C++ 語言
上一篇:Qt5.9靜態編譯
下一篇:跪求
