我想知道这个程序是如何执行的,并没有抛出任何错误.
void main( )
{
clrscr();
int i ;
for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) ) ;
i++ ;
getch();
}
Run Code Online (Sandbox Code Playgroud)
循环继续打印A.for循环的格式是
for(initialize value; test counter; increment value)
{
do this;
and this;
and this;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是printf("\n%c",65)如何增加值?
hmj*_*mjd 15
结果;之后的尾随没有在内部递增,导致无限循环.for()ifor
这个:
for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) ) ;
i++ ;
Run Code Online (Sandbox Code Playgroud)
相当于:
for ( i = 1 ; i <= 5 ; printf ( "\n%c", 65 ) ) {} /* Empty loop body. */
i++ ;
Run Code Online (Sandbox Code Playgroud)
在i++从未达到.要更正,请删除尾随;.这将是更清晰的使用i++作为迭代式for循环,而不是printf()和i不需要循环体的外面存在:
for (int i = 1; i <= 5; i++)
{
printf ( "\n%c", 65 );
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何
printf("\n %c", 65)增加价值?
printf()返回写入的字符数,因此i如果您愿意,可以使用它来增加,但是有必要将终止条件更改为占用\n字符:
for (int i = 1; i <= 10; i+= printf("\n%c", 65));
Run Code Online (Sandbox Code Playgroud)
然而,这不如之前的建议清楚.
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |