小编use*_*287的帖子

为什么如果(1/10)和if(0.1)有不同的值?

只是不明白为什么以下两个有不同的值.第一个值为0,而另一个值为1

if(1/10);
if(0.1);
Run Code Online (Sandbox Code Playgroud)

c

3
推荐指数
1
解决办法
3125
查看次数

C存储'\ 0'在哪里?

下面的代码读取一行并返回行长度.lim是数组s []的长度.

当输入行长度为lim时,则s [lim] ='\ 0'.但是数组s []只有长度,从s [0]到s [lim-1].它会导致缓冲区溢出吗?我测试了很多次,但代码似乎工作得很好.

int getline(char s[], int lim)
{ 
    int c, i;

    for(i = 0; i < lim-1 && ( c = getchar())!=  EOF && c!= '\n'; i++)
           s[i] = c;
    if( c == '\n') {
        s[i] = c;
        ++i;
    }
    s[i] = '\0';

    return i;
Run Code Online (Sandbox Code Playgroud)

}

c

0
推荐指数
1
解决办法
99
查看次数

标签 统计

c ×2