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

2024-10-06 16:12:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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中,您只需创建一个名称并分配它。我想实际处理其他变量,但在这个过程中可能会变得更复杂

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


Tags: 函数类型stringmakereturnincludemainint
1条回答
网友
1楼 · 发布于 2024-10-06 16:12:51

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

相关问题 更多 >