一道简单的C程!!!!!跪求回答

发布网友 发布时间:2022-04-22 08:20

我来回答

2个回答

热心网友 时间:2022-06-18 12:16

如果字符是2或3,则输出两个c+4,如果是4,则输出一个c+4(即8),如果是5,则先输出c+3再输出c+2,如果是其它字符,则输出c+2,遇到回车字符,则输出一个回车后结束。

这里要了解的概念是:

一个case语句后面如果没有break,则程序会接着执行下一个case语句。这叫fall through

c+1表示的是在ASC码表上c字符的后一个字符,c+2依此类推。由于01234567是连着的,所以正好是数值上的相加关系。

热心网友 时间:2022-06-18 12:17

输入为2的时候switch(‘2’-‘2’)进入case 0;先打印2+4,但是由于没有break,所以接着执行case 1,又打印了一个6。同理输入0执行default,打印2;输入3执行case 1,打印两个7;输入5执行case3,和default打印8,7;最后输入7,执行default打印9,所以最终结果为66277879追问就是说,20357是一个一个数字进行c-'2'吗?

追答你输入的方式是以字符的方式输入的,所以只能一个字符一个字符的读取,读的不是int型的数字,是char型的字符。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com