当前位置:编程学习 > C/C++ >>

C语言程序小问题

#include "stdio.h"

main()

{

int i,j;

printf("\1\1\n");

for(i=1;i<11;i++)

 {

 for(j=1;j<=i;j++)

   printf("%c%c",219,219);

 printf("\n");

 }

}

那位高手给我讲解一下 特别是怎么定义行列还有%c为什么只有两个,以及\1为啥表示笑脸

答案:这个程序有个for循环的嵌套。

#include "stdio.h"

main() //定义一个主函数入口

{

int i,j; //定义两个循环变量

printf("\1\1\n"); //输出两个笑脸字符,因为笑脸字符对应的ASCII码是1,具体是不是你的查下C语言书我也不记得了。

for(i=1;i<11;i++) //第一个for循环,给i赋初值1,条件是i<11,每循环一次i自加1,意思这个循环会循环10次。

 {

 for(j=1;j<=i;j++) //第二个for循环,给j赋初值1,条件是j<=i,就是当j>i的时候这个循环终止,每循环一次j自加1。

   printf("%c%c",219,219); //输出ASCII码为219对应的字符,而且是两个,%c是输出字符,%d是输出整数,等等这些C语言书上有介绍。

 printf("\n"); // \n 是换行或者叫回车。

 }

}

假设219对应的符号是一个 星 的 1对应的是笑脸的话,那么这段代码会首先输出两个笑脸,然后换行开始输出第一行一个星,第二行两个星 第三行三个星,以此类推第十行十个星这么一个斜三角形的图案。为什么只有10行呢,因为第一个for循环的i最大也就是10,所以只有10行。

%c应该是占位符,两个是因为代表两个变量,就是后面的219,219,意思就是输出219219
'\1'输出的是ASCII值为1的字符,就是小笑脸;'%C'只用了两个,是因为每次输出两个ASCII值为219的字符,输出的个数由双层循环来控制.

上面二楼 说的 是对啊。。

'\1'输出的是ASCII值为1的字符

%C,,是一个控制输出格式,,即输出的是一个字符,,而后面的是 219,,即输出ASCII 值

219 的 字符。。 假如那个219 改为 65,则输出的是字母A

上一个:c语言编程问题求解
下一个:怎么学习C语言

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,