c++编程?、、?、、?

来源:百度知道 编辑:UC知道 时间:2024/05/11 15:36:18
#include<iostream.h>
void main()
{
static int a[10]={12,10,9,6,5,4,2,1};
int n=7,i=7,x=3;
while(x>*(a+i))
{
*(a+i+1)=*(a+i);
i--;
}
*(a+i+1)=x;//这是一条赋值语句吗?是什么意思,怎样运行?
for(i=0;i<=n+1;i++)
cout<<*(a+i)<<',';
cout<<endl;
}//望高手讲解一下这个程序的功能和结果,详细一点,谢谢!!!

#include<iostream.h> //包含文件
void main() //函数入口
{
static int a[10]={12,10,9,6,5,4,2,1}; //定义10个int型数据,分别是12,10,...,1
int n=7,i=7,x=3;
while(x>*(a+i)) //当x大于a+i地址所对应的数据时
{
*(a+i+1)=*(a+i); //修改a+i+1地址所对应的数据为地址a+i所对应的数据
i--; // i减1
}
*(a+i+1)=x;//这是一条赋值语句吗?是什么意思,怎样运行? //修改地址a+i+1所对应的数据为x的值
for(i=0;i<=n+1;i++) //循环i从0到n+1
cout<<*(a+i)<<','; //输出地址a+i所对应的数据
cout<<endl; //输出换行符
}// flyue建议题主多看书哦

*(a+i+1)=x等价于 a[i+1]=x

*(a+i+1)=x;//是一条赋值语句,将x=3赋给了*(a+i+1)所对应的空间,
这个程序功能是讲x值插入a[10]这个数组中,

最后结果是
12,10,9,6,5,4,3,2,1

是赋值语句
功能:a数组中 第i个元素以前的各个元素如果小于x的话 就把它后面的元素值改为x