c - 为什么存储在整数中的字符串会被打印出来?

标签 c string integer

int k= "hello";
printf("%s", k);

为什么即使 k 的数据类型是整数,也会打印出这个 hello?

最佳答案

您的代码调用Undefined Behavior .

int k= "hello";

您正在尝试使用字符串文字(char*)初始化int。这没有任何意义并调用 UB .

printf("%s", k);

您正在尝试使用 %s 打印 int,它需要 char*。这也没有意义并调用 UB .

关于c - 为什么存储在整数中的字符串会被打印出来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32535842/

相关文章:

java - 将C代码转换为Java(分而治之的delaunay三角剖分算法)

c - 指向传递给函数的指针

php - 将 __DIR__ 常量与字符串连接作为数组值,它是 PHP 中的类成员

javascript - 将整数转换为字节串

java - 从Java中的数组列表中删除连续的重复项

integer - Swift:两个最大整数的总和

c - 在命令行参数中查找字符串?

c - `return 1 + strlen_rec(&arr[1]) ;`是什么意思?

php - 如何从数组中删除所有 html 标签?

MySQL/PHP : updating empty int field inserts value of 0