|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在课后作业s1e22里,小甲鱼又给出一个技巧写法: *target++!=‘\0'。后面的解释说,后缀的自增运算符,自增效果会在下一条语句才有效。也就是说第一次执行的时候,指针地址应该是指向target本身所指地址的。于是自己写了两句话,进行验证,结果很无奈,失望,彷徨,迷茫。大家帮我看看咋回事?
- include<stdio.h>
- int main()
- {
- char a=70,b=105,c=115,d=104,e=67f='\0';
- char *p=&a;
- while(*p++!='\0')printf("%c",*p);
- printf("\n");
- return 0;
- }
复制代码
运行结果如下:
那么请问,第一个字母a,也就是F显示到哪里去了?还是我的这个参数哪里用错了。
本帖最后由 dolly_yos2 于 2022-8-1 22:05 编辑
如果这真的必要的话,您可以试试
- while(*p++!='\0')printf("%c",*(p-1));
- while(*p++!='\0')printf("%c",p[-1]); // 或者更简短一些
复制代码
|
|