如何在 C 中使用不同的变量作为函数参数?

How do I use different variables as a function parameter in C?

C 和 Python 的共同点是您实际上可以使用函数更改变量类型。一个例子是 atoi(),它将 char * (string) 转换为 int。所以我通过制作一个函数来试验它:

#include <stdio.h>
#include <stdlib.h>

int make_int(char *str);

int main() {
    char str[256];
    scanf("%255s", str);
    printf("%i\n", make_int(str));
}

int make_int(char *str) {
    return atoi(str);
}

它按预期工作,但我没有考虑到的是,在 C 中,你必须告诉变量它是什么类型,不像 Python,你可以只命名并分配它.我想实际做其他变量,但在这个过程中可能会变得更复杂。

问:如何创建一个参数实际上是随机类型的函数,就像 Python 那样?我如何实际将任何变量也更改为 int

你不是这样的。 C是一种静态类型语言。但是,根据 Random Davis 的评论,void * 并传递地址可以工作,但是如果不传递另一个参数,您将无法知道传递的变量的类型是什么(因此 printf 等的格式字符串,它们使用另一种机制: 可变参数(原型中的 ...)。