这段代码中的*和&符号含义:
#include<stdio.h>
main()
{
char *p;
p="hello";
printf("%s\n",*&*&p);
}
Run Code Online (Sandbox Code Playgroud)
该printf声明在上述计划中做了什么?具体来说,*&*&p意味着什么?
在这个程序中,我已经交换了前两个名字
#include<stdio.h>
void swap(char **,char **);
main()
{
char *name[4]={"amol", "robin", "shanu" };
swap(&name[0],&name[2]);
printf("%s %s",name[0],name[2]);
}
void swap(char **x,char **y)
{
char *temp;
temp=*x;
*x=*y;
*y=temp;
}
Run Code Online (Sandbox Code Playgroud)
这个程序运行完美,但是当我使用function swap(char *,char *)它时,它不会交换地址为什么?为什么我必须使用指针指针?
我有一个包含递归函数的代码.我浪费了大量的时间进行递归,但我仍然无法得到它:
#include<stdio.h>
void count(int);
int main()
{
int x=10,z;
count(x);
}
void count(int m)
{
if(m>0)
count(m-1);
printf("%d",m);
}
Run Code Online (Sandbox Code Playgroud)
当第一次count调用参数为10.它满足条件,然后在这里启动递归部分.当函数调用自身时会发生什么?我不明白.请参考堆栈说明.
可能重复:
此代码中发生了什么?
我有一个包含递归函数的代码.我在递归上浪费了很多时间,但我仍然无法得到它,真的:
#include<stdio.h>
count(int);
main(){
int x=10,z;
z=count(x);
}
count(int m){
if(m>0)
return count(m-1);
}
Run Code Online (Sandbox Code Playgroud)
当count第一次使用参数调用时10,它满足条件并且递归开始.当函数调用自身时会发生什么?我不懂.该陈述return count(m-1)是什么意思?它在哪里转移控制?