C++代码问题,求大神指教。我是新手

#include<iostream>usingnamespacestd;voidmain(){inta[3][3]={1,2,3,4,5,6,7,8,9},i,j;int... #include<iostream>
using namespace std;

void main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9},i,j;
int *p[3];
p[0]=a[0],p[1]=a[1],p[2]=a[2];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i=j) cout<<*(*(a+i)+j)<<endl; //为什么这里不能输出i=j=0时的数据,也就是a[0][0]的值输出不出来
cout<<a[i][2-i]<<" "<<*a[i]<<" "<<*(*(a+i)+2)<<endl;
}

}

我想知道我的if(i=j) cout<<*(*(a+i)+j)<<endl;这个代码,为什么不能输出i=j=0时的数据,也就是a[0][0]的值输出不出来,,,哪里有问题,应该怎么改
展开
 我来答
silmerusse
2014-04-01 · TA获得超过6640个赞
知道大有可为答主
回答量:2919
采纳率:33%
帮助的人:2112万
展开全部
if(i=j) 是什么意思
赋值是一个等号
判断相等是两个等号
00文库
2014-04-01 · 超过12用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:24.2万
展开全部
j=0的时候,i=j的结果是i=0,此时if(i=j)执行的就是if(0),当然你此处的目的可能是if(i==j),因为C++对与if里的参数不进行判断,只要是能转化为整型的都可以,所以错误很隐蔽,多注意就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式