求《C语言程序设计》第四版,谭浩强编,清华大学出版社 课后习题答案

求《C语言程序设计》第四版,谭浩强编,清华大学出版社 课后习题答案,第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])

}

1,输出:c1=a,c2=b

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的问基本相同了。。

我有一本谭浩强的那个书,电子书自己去下了网上很多的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11080674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存