【发布时间】:2012-09-02 18:29:16
【问题描述】:
这是lab assignment的一部分
我必须实现以下功能...
void replaceChar(char s[], char c,int len)说明: 将
s的每个字符替换为c。len表示s的长度。
我将此提交给我的班级使用的自动评分器,它告诉我“替换字符串的长度不同。”我已经对此进行了广泛的测试,没有发现任何问题。这是我的完整功能:
void replaceChar(char s[], char c, int len) {
printf("\n");
for (int i = 0; i < len; i++) {
s[i] = c;
printf("%c",s[i]);
}
}
感谢您能给我的任何帮助!
以下是我的一些测试用例:
char s1[5] = {'h','e','l','l','o'};
char s3[10] = {'h','e','l','l','o',' ','h','i','i','i'};
char rep1 = 'x';
replaceChar(s1,rep1,5);
replaceChar(s3,rep1,10);
【问题讨论】:
-
len传递什么? -
可以和老师或助教谈谈吗?
-
我怀疑你误解了 len 参数
-
@MattAltepeter 您是否尝试过明确标记 NUL 终止符?
s[len] = '\0'; -
谢谢@oldrinb!我在循环之后添加了它并重新提交它并删除了错误!非常感谢!