字符数组输出
#include <stdio.h>int main()
{
char s = {{'a','b'},{'c','d'}};
for(int i = 0;i < 2;i++)
{
for(int j = 0;j < 2;j++)
{
printf("%c",s);
}
printf("\n");
}
return 0;
}
感觉有点绕,理不清逻辑,求大神帮助。 〃忝書γě渎ぐ 发表于 2020-6-5 15:02
放到数据里,总觉得有点绕,能详细说一下吗?
有什么好绕的。程序是一行一行往下执行的。第一层循环也得按次数来,它里面有循环,得等第二层循环结束后才能继续它的循环。这循环的意思是先打印s,再打印s.然后应该打印s了。但是j=2不符合j<2的条件,所以不会执行里面的打印s,而是结束,然后继续,此刻只是执行了第一层循环的第一次,也就是i=0的时候,它还没完,因为只执行了j循环,下面还有个语名,就是打印换行符。换行之后,才会执行i++,然后继续判断i是否小于2,如果是,就继续进去了。进去的第一件事又是一个j循环。将j先=0,判断,此刻打印的是s,s,然后j又等于2了,又不符合,然后又是换行,然后i++。 首先你要明白循环的方法。该循环是当i=0时,执行一遍j循环,然后i自增,继续执行另一遍j循环。 405794672 发表于 2020-6-5 14:49
首先你要明白循环的方法。该循环是当i=0时,执行一遍j循环,然后i自增,继续执行另一遍j循环。
放到数据里,总觉得有点绕,能详细说一下吗?
页:
[1]