小编Ven*_*kat的帖子

指针和函数参数

下面的代码片段给出了输出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)

c

1
推荐指数
2
解决办法
160
查看次数

void main(){if(sizeof(int)> -1)printf("true"); else printf("false"); ;

void main()
{
    if(sizeof(int) > -1)
        printf("true");
    else
        printf("false");    
}
Run Code Online (Sandbox Code Playgroud)

我期望输出为真,但它是错误的.任何人都可以解释一下输出的原因.

c

0
推荐指数
2
解决办法
3989
查看次数

设置为0.1的浮点数将false与0.1进行比较

 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
推荐指数
1
解决办法
1153
查看次数

标签 统计

c ×3