#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'在做什麼?你並沒有改變你想要打印的數字,也沒有(真的)改變你想要打印的格式字符串。你正在做一些非常奇怪的指針算術,這不可能導致有用或正常工作的代碼。你試圖從他們那裏學習一些奇怪的東西嗎?或者是什麼? [附註:我*可以*告訴你爲什麼會發生這種情況,如果你真的想知道,但首先你必須解釋你真的想做什麼。] –