0

我可以在 C 中获取运行时特定内存段中存在的程序变量类型吗?

C 无法识别以下错误:

int k=5;
float s= 3.4;
k=s;
printf("%d", k);

我正在尝试在运行时更改变量的类型。

4

1 回答 1

3

C 是一种静态类型语言,您不能更改变量的类型。这段代码:

int k=5; 
float s= 3.4; 
k=s;   //type conversion

没有改变k的类型,k仍然是类型int,它所做的只是将float ( 3.4f)转换为int( 3) ,并将该int 分配给k.

顺便说一句,上面的代码中还有另一种类型转换,即:

float s = 3.4;

因为3.4是类型double

于 2013-11-03T13:35:09.223 回答