#include <stdio.h>
//Compiler version gcc 6.3.0
int main(void)
{
float a=10;
printf("%f"+1,a);
return 0;
}
输出 - d谁能告诉我这是为什么在C语言中发生
#include <stdio.h>
//Compiler version gcc 6.3.0
int main(void)
{
float a=10;
printf("%f"+36,a);
return 0;
}
输出 - P
当过我改变的+1值它给不同的输出。 ...解释一下为什么
你忘了问你的编译器所有的警告和调试信息。用[gcc](http://gcc.gnu.org/)用'gcc -Wall -Wextra -g'编译(然后编译器会警告你)。 –
顺便说一句,http://floating-point-gui.de/是一个有用的读取 –
你真的认为'+ 1'和'+ 36'在做什么?你并没有改变你想要打印的数字,也没有(真的)改变你想要打印的格式字符串。你正在做一些非常奇怪的指针算术,这不可能导致有用或正常工作的代码。你试图从他们那里学习一些奇怪的东西吗?或者是什么? [附注:我*可以*告诉你为什么会发生这种情况,如果你真的想知道,但首先你必须解释你真的想做什么。] –