c1=97,c2=98
原因:因为输出为整型格式时,就输出对应的ASC代码值;字符格式就输出相应的字符。
2,输出:c1=?,c2=?
c1=-59c2=-58
原因:英文字母对应的asc值越界,所以输出?(不能输出对应的特殊符号,应为格式是%c),至于后面输出的负数,是因为字符常量在内存中存储的时候实际上是以二进制形式存储的,197和198存储进去,内存中因为越界不能完整存储相应的二进制码,而存储的二进制码输出来的整数就是那二进制码对应的负数了。
3,输出:c1=a,c2=b
c1=97,c2=98
原因和1的问基本相同了。。
我有一本谭浩强的那个书,电子书自己去下了网上很多的。
#include<stdio.h>int main(){
fload a[3]
scanf("%f,%f,%f",&a[0],&a[1],&a[2])
float temp
if(a[0]>a[1]){
temp = a[0]
a[0] = a[1]
a[1] = temp
}
if(a[1]>a[2]){
temp = a[1]
a[1] = a[2]
a[2] = temp
}
if(a[0]>a[1]){
temp = a[0]
a[0] = a[1]
a[1] = temp
}
print("%f %f %f \n", a[0],a[1],a[2])
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)