指针和字符串
函数定义应该是char *pr(char *str);才正确。。我取消了外部的指针,为什么不正确呢?
- C/C++ code
#include<stdio.h>char pr(char *str);int main(void){ char bm[]="hello"; *pr(bm); return 0;}char pr(char *str) //返回的也是char;为什么非要定义为指针呢{ char *pc; pc=str; while(*pc) putchar(*pc++); do { putchar(*--pc); } while(pc-str); return pc;}最近确实被指针和字符串搞得很迷糊。。什么时候该用,什么时候不该用的问题。缠绕脑中。大虾们有什么指针和字符串的视频么?
我都不问有什么学指针的建议了。。反正不外乎多看,多练。。
[解决办法]
- C/C++ code
#include<stdio.h>char *pr(char *str);int main(void){ char bm[]="hello"; *pr(bm); //bm指向的是数据的首地址,也是一个指针 return 0;}char *pr(char *str) //返回的也是char;为什么非要定义为指针呢{ char *pc; pc=str; //pc是指针 while(*pc) putchar(*pc++); do { putchar(*--pc); } while(pc-str); return pc; //返回的是一个指针,所以函数返回值也应该是指针(char *)}