小编Gti*_*iou的帖子

K&R的getc和putc实现是对的吗?

在K&R第8章中,它具有putc和getc函数的自定义实现.在getc的第一个定义中,如果参数是stdin,根据_iob的定义,函数将尝试写入地址0,因为这是_iob [0] .ptr和_iob [0] .base的值.分配.这合法吗?

代码:http://ideone.com/AIkCA

_iob的定义:

FILE _iob[20] = {
 {0, (char *) 0, (char *) 0, _READ, 0},
 {0, (char *) 0, (char *) 0, _WRITE, 0},
 {0, (char *) 0, (char *) 0, _WRITE, 0}
};
Run Code Online (Sandbox Code Playgroud)

c getc

5
推荐指数
1
解决办法
1197
查看次数

为什么这个反向字符串函数会产生seg错误?

我想制作一个反向字符串函数,我这样做了:

void reverse_str(char s[])  {
    int i, j;
    char ch;
    for(i = 0, j = strlen(s) - 1; i < j; i++, j--)  {
        ch = s[i];
        s[i] = s[j];
        s[j] = ch;
    }
    return ;
}
Run Code Online (Sandbox Code Playgroud)

但由于某些原因,当我i < j改为i != jI 时,我得到了一个分段错误.当指针ij指针也会发生这种情况.为什么?

c string reverse segmentation-fault

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

标签 统计

c ×2

getc ×1

reverse ×1

segmentation-fault ×1

string ×1