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