二级C语言 程序改错题

找出错误,只改 found 下一行,答案点击按钮展开

57程序改错题:求字符串长度(2 处错误)

函数 mylen 求字符串长度(不计结尾 '\0')。请改正 found 标记处的 2 处错误。

#include <stdio.h>
int mylen(char *s)
{
    int n = 0;
/**********found**********/
    while(*s != '\n'){
/**********found**********/
        n--;
        s++;
    }
    return n;
}
int main()
{
    printf("%d\n", mylen("abc"));
    return 0;
}
参考答案
第1处: while(*s != '\0'){
第2处: n++;
解析

第1处应与 '\0' 比较(与 '\n' 比较会读到串外);第2处计数应 n++ 而非 n--。mylen("abc") 应输出 3。

试题及答案仅供练习参考,不保证完全准确,正式考试请以NCRE官方教材及官方内容为准。

©2026 NCRE二级题库 版权所有