ASCII码排序 题解
Posted hrlsm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASCII码排序 题解相关的知识,希望对你有一定的参考价值。
1.
while(scanf("%c%c%c%*c",&a,&b,&c)!=EOF)
这里需要注意 输入多组语句 while后面不能加分号;
2.%*c"空字符,不存储字符的字符滤掉回车。
输入多个字符时直接连续用%c,不需要加入分隔符,同样输入也是连续输入且不能使用任何其他字符(如空格,回车等)来分隔。空格、制表以及回车都将被视作有效的字符输入。
当字符和其他数值类数据混合输入时,字符要放在前面,数值放在后面输入。这样可以保证开始已经有效的输入了字符。但需要输入一个整数i和一个字符ch。scanf(“%d%c”,&i,&ch);要求在整数后面不能有任何分隔,如回车,要立即跟随要输入的字符。如果不小心输入了回车,则回车符将被输入到字符变量ch中。
3.逗号表达式:
例:
z=(x%y,x/y) 先计算x%y =1,再计算x/y=3,然后 z=(1,3)=3
逗号表达式:多个表达式可以用逗号隔开,其中用逗号分开的表达式的值分别计算,但整个表达式的值是最后一个表达式的值。
再如:
a[0]=(0,1),但是(0,1)里面是逗号表达式,所以指向a[0]的指针p所指向的是1。
语句1中,a1=(++b,c--,d+3);a1=(3,7,8),这里需要注意++b和c--的区别,然后根据逗号表达式,a1=8;
语句2中,a2=++b,c--,d+3;a2=4,6,11,但是此刻后面的表达式没有小括号,也就是说,这不是逗号表达式,而是加了一个赋值的语句,逗号表达式的优先级最低,所以a2=4;
以上是关于ASCII码排序 题解的主要内容,如果未能解决你的问题,请参考以下文章