当前位置:编程学习 > C/C++ >>

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的具体实例用法

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,