大佬们,这个代码错在哪

想成为大佬的捞逼 2019-05-17 06:08:29



#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i = 1;
int j = (++i) + (++i) + (++i);

printf("%d", j);


}


...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CaptainXue 2019-05-17
  • 打赏
  • 举报
回复
不明白你写这个代码的目的是什么,你这个里面的i每执行一次i++,它的值都会发生变化。 你的程序错误在于你的main函数的类型是int型,那你就需要返回一个值,应该加上return 0; 如果你写成void main()的话,因为它是void类型,就不需要返回值了!你可以看看有关函数这篇文章https://blog.csdn.net/weixin_43956598/article/details/90055036
cat6616 2019-05-17
  • 打赏
  • 举报
回复
这个在实际开发中,能写成这个样子?
拥抱Linux 2019-05-17
  • 打赏
  • 举报
回复
int j = (++i) + (++i) + (++i);

这样的在一条语句中试图多次改变、引用同一个变量的行为,俗称未定义行为,也就是说,结果是未定义的,具体结果要看具体的编译器和环境。这都是坛子里的月经提问了,没有意义的。强烈建议「避免」写这样的代码。
六道佩恩 2019-05-17
  • 打赏
  • 举报
回复
main标明了返回值为int,但是你没有返回值。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧