使用以下代码:
float f = 23.456;
printf("%f", f);
Run Code Online (Sandbox Code Playgroud)
不同值的输出f是:
Value Output
--------- --------
f = 23.456 23.455999
f = 23.956 23.955999
f = 23.947 23.947001
f = 23.656 23.656000
Run Code Online (Sandbox Code Playgroud)
为什么价值不可预测或存在模式?
我已经读过将字符串存储在字符数组中(使用null终止)允许稍后操作字符串(与指向字符串文字的指针不同).
#include <stdio.h>
int main()
{
char s[10]="Stack";
s[9]='a'; // a gets stored in array and if index is less than 6 string gets changed
printf("%s\n",s);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:堆叠
只要要操作的索引小于字符串的长度,这就可以工作.
这意味着即使有空的空间也不能改变字符串内容(因此大小)?
有没有直接的方法(不使用函数)在所需的位置添加'a'?