【发布时间】:2023-04-09 14:35:01
【问题描述】:
这个程序(C 语言)没有输出我所期望的:
int main()
{
int i, j ;
for ( i = 1 ; i <= 2 ; i++ )
{
for ( j = 1 ; j <= 2 ; j++ )
{
if ( i == j )
continue ;
printf ( "\n%d %d\n", i, j ) ;
}
}
}
我觉得应该是
1 2 1 3 2 1 2 3但是程序输出
1 2 2 1这是为什么?
【问题讨论】:
-
问题是:为什么你认为它应该以 1 3 而不是 1 2 开头?
-
在第二次执行 printf 之后,即在打印 1 2 之后,控件重定向到内部 for 循环,在验证条件 "j
-
如果没有
if,您期望什么输出? -
控件甚至在增加它之后验证条件,所以 3 结果是 false ,因此输出。
-
@pmg 没有 "if" 输出将是 1 1 1 2 2 1 2 2