标题:运算
只看楼主
xuexuexue
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2004-7-19
 问题点数:0 回复次数:4 
运算
运行下面的程序段,输出结果是
int i;
char s[][5]={"123","456","789","abc"};
for (i=0;i++<3;)
printf("%s",s[i]);
答案是456789abc是怎么算出来的?
搜索更多相关主题的帖子: 运算 int abc char 
2004-08-01 22:02
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
得分:0 

循环共三次,i=0,i=1;i=2;

每次循环判断后i就自增,所以第一次输出的是s[1]以此类推。

由于s是二维数组,S[I]其实是第I列的头指针,打印除来的就是头指针指向的字符串就出现楼主的结果了。


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-08-01 22:18
xuexuexue
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2004-7-19
得分:0 

由于s是二维数组,S[I]其实是第I列的头指针,打印除来的就是头指针指向的字符串就出现楼主的结果了。

这句话不太懂,能不能解释的清楚一点?


C语言让我感爱到了计算机的乐趣 目前目标:程序员
2004-08-02 14:51
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 

你就把一个二维数组 a[n][m] 看成是n+1个长度为m+1的一维数组就行了。例如:

二维数组 int a[2][3]={{1,2,3},{4,5,6},{7,8,9}}; 他其实可以看成由3个长度为4的一维数组组成的。

[此贴子已经被作者于2004-08-02 15:16:02编辑过]


淘宝杜琨
2004-08-02 15:15
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 

我有个问题,后缀自增运算不是先执行后面的再自增吗?

这里为什么是先自增后判断?不解……

2004-08-02 21:26



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




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

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