标题:C语言,数组的问题
取消只看楼主
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
结帖率:80%
已结贴  问题点数:20 回复次数:3 
C语言,数组的问题
#include <stdio.h>
intmain(int argc,char * argv[])
{
   int a [3][2]={(0,1),(2,3),(4,5)};
   int *p;
   p=a [0];
   printf("%d",p[0]);
}
问打印出来的结果是:1
为什么加了小括号的赋值相当于
   int a [3][2]={ 1, 3,5};而不是int a [3][2]={0,2,4};
搜索更多相关主题的帖子: include C语言 
2016-02-22 19:41
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
得分:0 
老大求解啊,还是看不懂啊
2016-02-22 21:48
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
得分:0 
回复 4楼 诸葛欧阳
单纯从二维数组来讲
int a [3][2]={(0,1),(2,3),(4,5)};
为什么加了小括号的赋值相当于
int a [3][2]={ 1, 3,5};而不是int a [3][2]={0,2,4};


2016-02-22 22:33
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
得分:0 
逗号是依次向后运算y=4,5; //把4赋值给y,逗号依次运算,到了5,但没有等号进行赋值,所以y=4;y=(4,5); //括号内的都是赋值给y的值,先把4赋值给y,然后逗号依次运算,把5赋值给y,所以y=5.

刚网上搜的,谢谢各位
2016-02-22 23:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-461869-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.165455 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved