您的位置:首页 > 其它

C 逆序输出 用户输入的字符或数字

2012-10-29 15:08 465 查看
#include <iostream>
using namespace std;

void main()
{
//本程序中的以下数据没有涉及到写的权限,因此声明为只读权限
/*
const int n[]={100,200,300,400,500};
const int len_n=sizeof(n)/4;
const int *pHead=&n[0];//保存数组的第一个元素的地址,指向数组的第一个元素

const int *pTail=&n[len_n-1];//保存数组的最后一个元素的地址

const int *p=NULL;//初始化指针为NULL

cout<<*pHead<<endl;//100

cout<<*pTail<<endl;//500

//让指针指向最后一个元素

p=pTail;
cout<<*p<<endl;//500

//把指针指向第一个元素

++p;
p=pHead;
cout<<*p<<endl;//100

//指针遍历元素,因为当前指针已指向pHead,因此我不再初始化指针p为pHead

//分析:当前p指向pHead,即本程序中的元素"100",可以直接输出这个元素,

//接着移动指针指向"200",输出"200"后,移动指针指向"300",...

while((p-1)!=pTail)//100 200 300 400 500

{
cout<<*p<<" ";//输出当前指针所指向的元素

++p;//往生移动指针指向下一个元素

}
cout<<endl;

//当然,我们很容易就作逆序遍历

//500 400 300 200 100

p=pTail;
while((p+1)!=pHead)
{
cout<<*p<<" ";
--p;
}
cout<<endl;

*/
int i,k;
i=0;
char a[50],*p,*q;
printf("输入字符串回车结束:\n");
while(1)
{

scanf("%c",&a[i]);
if(a[i]=='\n')
break;
i++;
}
k=i;
cout<<k;
printf("输入字符串为:\n");
for(i=0;i<k;i++)
printf("%c",a[i]);
printf("\n");
q = a+k-1;
//	cout<<*q;
printf("交换后字符串为:");
for(p=a,q=a+k-1;q>=p;q--){
cout<<"ddddddd"<<endl;
printf("%c",*q);
}

int j[10] = {1,2,3,4,5,6};
int *pp = j;
cout<<*(pp+1)<<endl<<sizeof(j)/sizeof(int);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐