小编Gho*_*ing的帖子

*和&符号的含义

这段代码中的*&符号含义:

#include<stdio.h>
main()
{
  char *p;
  p="hello";
  printf("%s\n",*&*&p);
}
Run Code Online (Sandbox Code Playgroud)

printf声明在上述计划中做了什么?具体来说,*&*&p意味着什么?

c pointers

5
推荐指数
2
解决办法
5854
查看次数

字符串交换适用于char**但不适用于char*

在这个程序中,我已经交换了前两个名字

#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 *)它时,它不会交换地址为什么?为什么我必须使用指针指针?

c string swap pointers function

4
推荐指数
1
解决办法
1076
查看次数

这段代码到底发生了什么?

我有一个包含递归函数的代码.我浪费了大量的时间进行递归,但我仍然无法得到它:

#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.它满足条件,然后在这里启动递归部分.当函数调用自身时会发生什么?我不明白.请参考堆栈说明.

c recursion function

3
推荐指数
1
解决办法
575
查看次数

这段代码给出了一个荒谬的答案

可能重复:
此代码中发生了什么?

我有一个包含递归函数的代码.我在递归上浪费了很多时间,但我仍然无法得到它,真的:

#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)是什么意思?它在哪里转移控制?

c recursion function

-3
推荐指数
1
解决办法
143
查看次数

标签 统计

c ×4

function ×3

pointers ×2

recursion ×2

string ×1

swap ×1