c入门第046讲
本帖最后由 mack1983 于 2014-3-22 20:23 编辑#include <stdio.h>
char str(char *from_x,char *to_x);
void main()
{
char *form_s="1fishc.com is a good web site!";
char to_s[]="2fishc.com is a good web site!";
int a=50,*p=100,c=200;
printf("form_s字符串:%s\n",form_s);
printf("to_s字符串:%s\n",to_s);
str(form_s,to_s);
printf("form_s字符串:%s\n",form_s);
printf("to_s字符串:%s\n",to_s);
}
char str (char *form_x,char *to_x)
{
while ((*to_x++=*form_x++)!='\0')
{
;
}
}
小白老师讲得指针这里,好些地方让我好纠结~
46讲,7分14秒讲到:
上面这道小白老师的解答是取值符*的优先级高于++自增符,所以会先取值再自增,显然这个理由无法让我信服~
这果按这讲所讲: *form_x++,就相当于*(form_x++)
而前面42讲,4分8秒讲到:
*取值符和++自增符的优先级是同级的,自右向左结合,那就应该是先自增再取值.
我查了优先级表,这两个符号的确是同级,而且自右向左.
如果按这讲所讲: *pointer_1++,就相当于*(pointer_1)++
这两讲的视频一对比起来,我就迷惘了~~
求下载地址:mad: 这是在哪里的 楼主注意:i++ 操作是先取值 然后才自增的。 而++i才是先自增再取值,两者有区别的。 你对比一下题目就明白了 zhaopengfei 发表于 2014-3-23 10:47 static/image/common/back.gif
楼主注意:i++ 操作是先取值 然后才自增的。 而++i才是先自增再取值,两者有区别的。 你对比一下题目就明白 ...
谢了哈,部题己经解决~ char *p;
*p++;等价于下面代码char *p;
*(p++)都是先引用在+1.
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
要区分下面代码(*p)++........01
*(p++)...........02
*p++.............03
实际上02和03是一样的
水墨君 发表于 2014-3-23 16:15 static/image/common/back.gif
等价于下面代码都是先引用在+1.
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
谢了哈,~~
解答的很详细~
页:
[1]