任何人都可以告诉我为什么这种情况发生在c语言中
#include //Compiler version gcc 6.3.0 int main(void) { float a=10; printf("%f"+1,a); return 0; }
输出 – d
#include //Compiler version gcc 6.3.0 int main(void) { float a=10; printf("%f"+36,a); return 0; }
输出 – p
当我改变+1的值时,它会给出不同的输出….解释我为什么
我不确定你到底想要完成什么。
如果你想做总和,你只需要在逗号之后执行:
由此:
printf("%f"+36,a);
对此:
printf("%f",a+36);
其他金额相同。
你应该编译所有警告。 我使用了gcc -Wall -Wextra -Werror -pedantic
。 它没有用我的警告编译,因为printf的参数太多了。
当我测试你发布的代码时,它会打印’f’和’A ???’。 我不确定你要做什么,但我相信它与你的浮动如何添加数字以给你一个Ascii角色有关。