youxixingzhet 发表于 2022-3-13 20:07:03

函数指针

#include <stdio.h>

void *func(int n, int *ptr, char *str);

void *func(int n, int *ptr, char *str)
{
      if (n > 0)
      {
                return ptr;
      }
      else
      {
                return str;
      }
}

int main(void)
{
      int num = 520;
      char *str = "FishC";

      printf("%d\n", * (int *) (func(1, &num, str)));
      printf("%s\n", (char *) func(-1, &num, str));

      return 0;
}

在打印后面的(int*)和char*是用来改变 func函数返回的类型的吗???????

isdkz 发表于 2022-3-13 20:11:00

嗯嗯,括号加类型放在前面是用来强转(强制类型转换)的
页: [1]
查看完整版本: 函数指针