C++编程问题求解 下面程序为什么最后输出的是 1

[复制链接]
查看11 | 回复2 | 2011-6-20 16:44:26 | 显示全部楼层 |阅读模式
#include
using namespace std;
void main()
{
        int x[6]={1,3,5,7,9,11},*k,**s;
        k=x;
        s=&k;
        cout<<*(k++)<<","<<endl;
}

回复

使用道具 举报

千问 | 2011-6-20 16:44:26 | 显示全部楼层
当然是1, 后缀++是先运算再自增,他在下一条语句中才自增1,所以cout<<*(k++)<<","<<endl;这句打印的是x[0];是不是我没理解你的意思? 你是不是要打印数组的所有内容?那就要向下面那样写void main(){int x[6]={1,3,5,7,9,11},*k,**s;
int i;k=x;s=&k;
for (i = 0; i < 6; i++)
cout<<*(k++)<<","<<endl;}...
回复

使用道具 举报

千问 | 2011-6-20 16:44:26 | 显示全部楼层
*(k++)表示先引用k所指单元x[0]的值1,再使k指向x[1]。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行