求助大神帮忙看一下代码。短短几行,实在不知道哪里错了 。
调试之后和我想得到的结果不一样。但是短短几行代码实在不知道哪出错了 。 我想得到的结果是 一行 111 两行 222现实是 222 只出现两行 应该出现六行的啊#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int q = 1;
int p = 1;
for ( q ; q <= 3 ; q++ )
{
printf ("111\n");
for ( p ; p < 3 ; p++ )
{
printf ("222\n");
}
}
system ("pause");
return 0;
} 把int p = 1;放在printf ("111\n");的后面。 冬雪雪冬 发表于 2018-4-5 20:35
把int p = 1;放在printf ("111\n");的后面。
我去试试。 冬雪雪冬 发表于 2018-4-5 20:35
把int p = 1;放在printf ("111\n");的后面。
报错了啊 我的是VS2005高版本运行起来卡 踏雪失踪 发表于 2018-4-5 20:37
报错了啊 我的是VS2005高版本运行起来卡
你这样写再试试:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
for ( int q = 1 ; q <= 3 ; q++ )
{
printf ("111\n");
for ( int p = 1 ; p < 3 ; p++ )
{
printf ("222\n");
}
}
system ("pause");
return 0;
} 冬雪雪冬 发表于 2018-4-5 20:42
你这样写再试试:
还是报错 我手头没有C的编译器,在线试了可以通过。http://www.onlinecompiler.net/ for ( q ; q <= 3 ; q++ )
{
printf ("111\n");
for ( p ; p < 3 ; p++ )
{
printf ("222\n");
}
}
p=1,p<3 第一次运行 q=1运行第一次结果应该如下,那么运行完第一次后
111
222
222
注意 p的值为2, 所以当q=2第二次循环的时候 p<3(p已经是2了)不成立所以只输出
111
111
修改每次嵌套for循环p的值初始化,定义到外层循环 注意 不要在上面定义int p=1;
for ( q ; q <= 3 ; q++ )
{
printf ("111\n");
int p = 1;
for ( p ; p < 3 ; p++ )
{
printf ("222\n");
}
} 冬雪雪冬 发表于 2018-4-5 20:56
我手头没有C的编译器,在线试了可以通过。http://www.onlinecompiler.net/
是这样,你说的那个方法可以通过,因为我的VS版本低, 所以在我这是通不过的。 理想小青年 发表于 2018-4-5 20:58
for ( q ; q
谢谢,说的很详细。让我茅塞顿开。
页:
[1]