下面的代码片段给出了输出11 11未定义的值.但是为什么我在第二次执行相同的语句时得到未定义的值?这与函数的范围有什么关系吗?
void foo(int **const p)
{
int j = 11;
*p = &j;
printf("%d ", **p);
}
int main()
{
int i = 10;
int *p = &i;
foo(&p);
printf("%d ", *p);
printf("%d ", *p);
return 0;
}
Run Code Online (Sandbox Code Playgroud) void main()
{
if(sizeof(int) > -1)
printf("true");
else
printf("false");
}
Run Code Online (Sandbox Code Playgroud)
我期望输出为真,但它是错误的.任何人都可以解释一下输出的原因.
int main()
{
float f = 0.1;
if (f == 0.1)
printf("True");
else
printf("False");
}
Run Code Online (Sandbox Code Playgroud)
我只是c的初学者.我不明白上述程序的行为.输出为false.为什么??
c ×3