我们可以将字符串值分配给int变量吗? int a =“ aa”行发生了什么转换; 我正在运行此C程序,对于每个程序执行,该值打印都不同。
int main()
{
int a="aa";
printf("%d",++a);
return 0;
}
答案 0 :(得分:3)
在C中,字符串文字"aa"
是字符串char *
的只读存储位置的const char *
(在C ++中是"aa"
)。您正在将该指针转换为整数,即将内存地址转换为数字。视您使用的平台而定,此内存地址可能会在每次程序运行时更改。