为什么以下程序的输出每次都不同(随机值)?

时间:2020-01-10 06:12:00

标签: c

我们可以将字符串值分配给int变量吗? int a =“ aa”行发生了什么转换; 我正在运行此C程序,对于每个程序执行,该值打印都不同。

 int main() 
{
   int a="aa";
   printf("%d",++a);
   return 0;
 }

1 个答案:

答案 0 :(得分:3)

在C中,字符串文字"aa"是字符串char *的只读存储位置的const char *(在C ++中是"aa")。您正在将该指针转换为整数,即将内存地址转换为数字。视您使用的平台而定,此内存地址可能会在每次程序运行时更改。