*a 和 *a!='\0'有什么区别,#include main(){char s[10]="hello!";inverp(s);}inverp(char *a){if(!*a) return 0;inverp(a+1);printf("%c",*a);}如果if条件句改为 *a!='\0' 就不对了,为什么.这个程序 是怎么实现的
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/06 09:55:42
*a和*a!=''\0''有什么区别,#includemain(){chars[10]="hello!";inverp(s);}inverp(char*a){if(!*a)return0;inverp(a
*a 和 *a!='\0'有什么区别,#include main(){char s[10]="hello!";inverp(s);}inverp(char *a){if(!*a) return 0;inverp(a+1);printf("%c",*a);}如果if条件句改为 *a!='\0' 就不对了,为什么.这个程序 是怎么实现的
*a 和 *a!='\0'有什么区别,
#include
main()
{
char s[10]="hello!";
inverp(s);
}
inverp(char *a)
{
if(!*a)
return 0;
inverp(a+1);
printf("%c",*a);
}
如果if条件句改为 *a!='\0' 就不对了,为什么.
这个程序 是怎么实现的
*a 和 *a!='\0'有什么区别,#include main(){char s[10]="hello!";inverp(s);}inverp(char *a){if(!*a) return 0;inverp(a+1);printf("%c",*a);}如果if条件句改为 *a!='\0' 就不对了,为什么.这个程序 是怎么实现的
看其真值即可
*a 0 1
!*a 1 0
*a 0 1
*a!='\0' 0 1
------------------------------------
相反吧,所以你那样写不对,可以改为*a == '\0' 或直接写 *a == 0,但这样还是比不上!*a 来得清楚自然.这是递归程序,程序一直调用自身至遇到结束符0才停止,并反向打印字母.就像堆栈一样,先调用的最后才执行.
向量a和向量/a/有什么区别 /ab/和/a//b/有什么区别
货币基金A和B有什么区别
a和b有什么区别
away和 a way有什么区别
a lot 和little有什么区别?
SIMILIE和A TEMPO有什么区别?
a和an有什么区别
a-life和emoi有什么区别
0是不是一个元素?A={0}和A={空集}有什么区别?
对指针max ,max=a 和*max=a[0],有什么区别?
向量a=1和向量a=(1,0)有什么区别
向量a=1和向量a=(1,0)有什么区别
这两个表达式有什么区别a[1001]={0}和memset(a,0,sizeof(a));a是数组
short a=1,a=a+1和a+=1有什么区别
函数关于(a,0)对称和关于x=a对称有什么区别,有什么性质?
无机化学A和B有什么区别?高数A和B有什么区别?
int a,b,*p1*p2; 请问 p1=&a和*p1=a有什么区别?
Have a fever 和have a cold 有什么区别