发布网友 发布时间: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型的字符。