C语言语句“i=j=((i=3)++) ;”是什么意思啊

#include<stdio.h>main(){inti=1,j=1;i=j=((i=3)++);printf("%f",i,j);getch();}以上的程序有错吗?错... #include<stdio.h>
main()
{
int i=1,j=1;
i=j=((i=3)++) ;

printf("%f",i,j);
getch();
}

以上的程序有错吗?错在哪里?
展开
 我来答
calm86104
2008-03-04 · TA获得超过569个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:155万
展开全部
以上的程序有错。
我来一条一条的解释:
(i=3)++ 指的是将3赋值给i,因为有括号,且+号在括号外面,
所以此处指的是赋值后的i,++后,i的值变成了4,
j=((i=3)++),这里呢,就是将值变成了4后的i赋值给j,
你错误在于后面,简化一下就是i=((i=3)++),即i=(i=4),
这样岂不是多余?
另外,我查询了一下C的函数库,getch()这样的函数并没有出现过,
不知道是不是你自己定义的,还是写的时候没有注意少写了几个字母。
zgitwl
2008-03-04
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
main()
{
int i=1,j=1;
i=j=((i=3)++) ;

printf("%d\t%d\n",i,j);
//getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山峰11616
2008-03-04
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
程序的目的?程序太落索了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潘黄氏
2008-03-04 · TA获得超过226个赞
知道答主
回答量:97
采纳率:0%
帮助的人:86.2万
展开全部
forget
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式