赋值变量在程序每次执行时随机改变值(C编程)

赋值变量在程序每次执行时随机改变值(C编程),c,C,每次执行上述代码时,我都会从控制台获得一个随机的8位数字。。。我给了X一个确定的值,但为什么每次执行时都会得到一个随机值呢?谢谢大家! 这是因为您正在为整数指定一个“char*”(字符指针)。也许你的意思是: int x = "H"; printf("x is %i\n", x); intx='H';/*谢谢你,帕克斯!但是什么是“char*”?char*是指向字符的指针,通常在C中用于指向以零字符结尾的字符序列。“Hello”是一个包含6个字符的内存块的地址,其中包含“H”、“e”、“l”、

每次执行上述代码时,我都会从控制台获得一个随机的8位数字。。。我给了X一个确定的值,但为什么每次执行时都会得到一个随机值呢?谢谢大家!

这是因为您正在为整数指定一个
“char*”
(字符指针)。也许你的意思是:

int x = "H";
printf("x is %i\n", x);

intx='H';/*谢谢你,帕克斯!但是什么是“char*”?char*是指向字符的指针,通常在C中用于指向以零字符结尾的字符序列。“Hello”是一个包含6个字符的内存块的地址,其中包含“H”、“e”、“l”、“l”、“o”和“\0”(空终止符)。@metashockwave-指针(可以是
char*
int*
或其他类型)类似于数组,是C的基本概念之一。它允许您创建或多或少任意复杂的数据结构,并在函数之间传递复杂的结构或大型列表,而不会超出范围。特别是,
char*
通常用于在C中存储字符串。@Pax:我想知道为什么char*可以隐式转换为int?这符合标准吗?这可能是因为有些人的警告级别不够高,尽管该构造在GCC中给出了最低警告级别的警告。
int x = 'H'; /* <-- Note single quotes, not doubles. */
printf("x is %i\n", x);