例如#include<stdio.h> main() {char A,B,C; B='1';C='A'; for(A=0;A<6;A++) { if(A%2) putchar(B+A); else putchar(C+A);}}编译后打印的结果是A2C4E6
想实现purchar(‘+\n’)同时达到输出与换行的效果是不可行的,因为putchar语句是依次读取输出的数值直到遇到\0,比如putchar(123')就是3,putchar('1234')就是4,所以putchar('+\n')就是\n,即换行,既然你追求美观,那么就程序最后面(即return(0)前面。)增添一个printf("\n"),也不碍事!
首先要理解C语言中 "字符即数字", 但是这并不是说'1' == 1, 字符是数字到符号的一种映射(即ASCII码表给出的映射关系. 当然还有其他很多映射表, 比如UTF-8, 这种映射就叫做字符编码), 比如: 64 <===> 'A', 96 <===>'a', '1'<===>49. 所以尽管我们给的参数是'1', 但实际上计算机中存储的值是49, '1'只是这个数字在屏幕上的样子.实际上,你可以传给putchar()任意数字,只要在其参数类型(char, 8bit)所表示的范围内( -128~127, 或0~255), 只要可以找到相应的映射字符, 就可以打印出该字符.所以传给putchar()的参数是49或'1'没有本子区别, '1'只是49的另外一种表示方法. 同理, 如果参数是'1'+1<===>49+1=50 <===> '2', 'A'+1<===>64+1=65<===>'B'甚至'1'+'A' <===> 49+64= 123 <===>'一个一定义的字符,但是可能在屏幕上显示不了,具体参照ASCII表'. 你的例子中 A:0~5, 参数一次是'A'+0, '1'+1, 'A'+2, '1'+3, 'A'+4, '1'+5, 即字符A2C4E6明白了么?