只想吃冰淇淋 2021-09-13 23:03 采纳率: 100%
浏览 40
已结题

关于#c++#的问题,请各位专家解答!

#include
using namespace std;
int main(int i=0)
{
cout << i++ << " ," << ++i;
return 0;
}

img

img


为什么int main(int i=0)会得到2、3

  • 写回答

1条回答 默认 最新

  • 关注

    因为有一个默认的参数会被传入,这个参数是该函数的绝对地址
    你这里main实际上接受了一个argc,代表main函数接受到的参数数量
    这个数量在什么都不传入的时候为1
    所以在参数位于main中的时候,起始i为1,输出会比i为0时都大1

    img


    这里的警告是说main接受0或2个参数,0参数好理解,2参数指的就是argc **argv这种写法
    现在你只接收一个参数,相当于接受了传入的argc
    有帮助望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月14日
  • 创建了问题 9月13日

悬赏问题

  • ¥15 (标签-android|关键词-app)
  • ¥15 微信小程序web-view嵌套H5页面IOS左滑会出现相同的页面,有什么解决方法吗?
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)