码迷,mamicode.com
首页 > 其他好文 > 详细

指针函数的++(极易犯错误)

时间:2017-03-31 20:55:53      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:指针   str   from   logs   错误   实现   log   改变   highlight   

#include<stdio.h>

#include<stdlib.h>

#include<string.h>
//实现字符串的拷贝
int main11()
{
	char a[]={"dajdjaskd"};
	char b[267];
	int i;
	for(i=0;a[i]!=‘\0‘;i++)
	{
		*(b+i)=*(a+i);
	}
	b[i]=‘\0‘;//这个很重要呢,一定要加,否则这个结果就是乱码
	printf("b== %s\n",b);

	system("pause");
}

char copy_str(char *from,char *to)
{
	char *myfrom=from;
	char *myto=to;
	while(*myto++=*myfrom++);
	printf("from: %s\n",from);
}
char copy_str1(char *from,char *to)
{
	
	while(*to++=*from++);//字符串结束符 ‘\0‘ 的 ASCII 值 正好是 0。 所以 用 0 判断 和 用 ‘\0‘ 判断,结果一样。
	printf("from: %s\n",from);
}
 int main()
 {
	 char a[]={"sada"};
	 char b[128];

	 copy_str(a,b);
	 printf(" b : %s\n",b);

	  copy_str1(a,b);
	 printf(" b : %s\n",b);


	system("pause");
 }
  •   关于字符串有几个重点问题呢
  • 字符串循环赋值的时候,可能不能够赋值‘\0’ 需要手工加上去,要不然肯定出错。
  • 指针循环实现++的时候,输出的时候,指针指向了‘\0’, 所以//不要轻易改变形参的值, 要引入一个辅助的指针变量. 把形参给接过来.....

指针函数的++(极易犯错误)

标签:指针   str   from   logs   错误   实现   log   改变   highlight   

原文地址:http://www.cnblogs.com/xiaochige/p/6653338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!