相关疑难解决方法(0)

为什么解除引用空指针是未定义的行为?

根据ISO C++,取消引用空指针是未定义的行为.我的好奇心是,为什么?为什么标准决定声明它未定义的行为?这个决定背后的理由是什么?编译器依赖?似乎没有,因为根据C99标准,据我所知,它是明确定义的.机器依赖?有任何想法吗?

c++ pointers undefined-behavior

22
推荐指数
5
解决办法
9066
查看次数

格式字符串参数后"+1"对printf()的影响

我有一些与此代码相关的问题.printf的参数是类型const char*...(可变参数列表).

1)为什么程序的输出是d和不是127
2)是否+1会转换为字符串并传递给类型的参数变量const char*

#include<stdio.h>
int main()
{
   printf("%d"+1 , 127); //how this will get executed?
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

d
Run Code Online (Sandbox Code Playgroud)

c

6
推荐指数
2
解决办法
217
查看次数

标签 统计

c ×1

c++ ×1

pointers ×1

undefined-behavior ×1