C语言中的混合运算
以下是算法
main()
{
int a,b=322;
float x,y=8.88;
char c1='k',c2;
a=y;
x=b;
a=c1;
c2=b;
printf("%d,%f,%d,%c",a,x,a,c2);
getch();
return;
}
结果出来了,107,322.000000,107,B
这两个107的结果是怎么算出来的,怎么跟想的不一样。望高手解决一下
追问:嗯。清楚了,還能請問一下您嗎?就是 ASCII這個表是怎么轉換的。
c2 =322 = 1 01000010 低八位是十六进制的 還有這句話我不太清楚 ,不好意思啊,初學者。望能解決一下 謝謝8,322.000000,K,B后面這個B和K也不太懂,望解決一下 謝謝
答案:k的ascII编码就是 107,你把第一个%d改成%c就看到结果变成 k 了
c2=322,但是%c是以字符输出 就是只取了c2的低八位
c2 =322 = 1 01000010 低八位是十六进制的 42 低八位是十进制的 66 查看ascII表 就是字符 B
其他:你想的是多少?
上一个:目前php和C语言和C++哪个好?哪个适用范围广?
下一个:C语言里面%g的具体实例用法