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

#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);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值