C语言:把指针赋给另外一个指针和指针自加

C语言:把指针赋给另外一个指针和指针自加


void fun(char*sp ,int *ct)
{
 int i,n=0;
 char *t=sp; //sp是地址,将sp的地址赋给指针t
 while(*t)
	 {
		  n++;
		  t++;
	 }
 for(i=0;i<3;i++)
	 {
	  	ct[i]=0;
	 }
 for(i=0;i<n;i++)
	 {
		  if(sp[i]=='e'&&sp[i+1]=='a')ct[0]++;
		  if(sp[i]=='o'&&sp[i+1]=='u')ct[1]++;
		  if(sp[i]=='i'&&sp[i+1]=='u')ct[2]++;
	 }
 }

1
char *t=sp;
这句话的意思就是:将sp指针赋给t是指向char类型的指针;
相当于复制,拷贝。

复制过后,t的变化和sp无关。

 while(*sp)
 {
  n++;
  sp++;
 }

而数组sp如果++了,就是sp指针指到最后一个了,就不能执行下面的判断.
而给复制了话,sp是不变的,就可以进行下面的搜寻判断工作。

上帝保佑,二级必过!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值