读书人

又遇麻烦。求帮助解决方案

发布时间: 2012-06-05 13:54:06 作者: rapoo

又遇麻烦。。。。急求帮助
题目:打印楼梯 同时在上方打印两个笑脸
#include<stdio.h>
2 main()
3 { int i,j;
4 printf("\1\1\n");/*输出两个笑脸*/
5 for(i=1;i<11;i++);
6 {
7 for(j=1;j<=i;j++)
8 printf("%c%c",219,219);
9 printf("\n");
10 }
11 }
结果如下:222011321081031@C-server:~$ ./a.out

ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
疑惑:第四行 \1\1 ??? (怎么就解释为输出两个笑脸呢)
第八行 printf("%c%c",219,219); 其中的219怎么解释
另外当编译成功 输出的时候 在屏幕上显示的不是ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 而是 圹圹圹圹圹圹圹圹圹圹圹圹圹圹 又是怎么回事 ?





[解决办法]
笑脸的ASCII码就是1
[解决办法]
5 for(i=1;i<11;i++);
[解决办法]

C/C++ code
#include<stdio.h> int main(){     int i,j;    printf("\1\1\n");/*输出两个笑脸*///   '\1'是一个转义字符 ,代表笑脸。     for(i=1;i<11;i++)//去掉分号     {        //for(j=1;j<=i;j++)            printf("%c%c",219,219);//219不是标准中的,不同的机器解释不同..      printf("\n");    }     }
[解决办法]
++
探讨
C/C++ code


#include<stdio.h>
int main()
{
int i,j;
printf("\1\1\n");/*输出两个笑脸*/// '\1'是一个转义字符 ,代表笑脸。
for(i=1;i<11;i++)//去掉分号
{
//for(j=1;j<=i;j++)
……

[解决办法]
机器内一切都可以归结于数据,所以笑脸也是用数值来保存的。而笑脸的ASSIC就是1所以就可以输出了。
标准的ASSIC只有128个,所以超过这个数字的话就是拓展码,输出219就要看具体的机器了。

读书人网 >C语言

热点推荐