学好编程! 2021-07-28 11:44 采纳率: 96.8%
浏览 62

for里面循环三次每次都要输出吗?最后一次为什么等于3啊?

答案是2,6,42,3
#include "stdio.h"

int Square (int i)

return i*i;

int main()

int i=0;
i= Square(i);
for(; i<3; i++)
{
static int i=1;
i += Square(i);
printf("%d,", i);


printf("%dn", i);
return 0;

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2021-07-28 11:48
    关注

    你为啥非得定义重名的静态变量呢?不是自个找麻烦吗?
    for循环每次都要i++的,当i=3时,才满足for循环结束条件,所以最后printf出来的i肯定是3啊。不然还得循环啊

    评论

报告相同问题?

问题事件

  • 创建了问题 7月28日

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊