Online Compiler C

#include <stdio.h> int main() { char s[201]; fgets(s,201,stdin); int i=0; while(s[i]!="\10"){ if(s[i]=='') s[i]='_' } }
这段代码试图读取一行字符串,然后将其中的空格替换为下划线,但存在几个问题。

- 第7行的条件 `s[i]!="\10"` 是错误的。`"\10"` 是一个字符串,而你需要比较的是字符,并且字符串结束符应该是 `'\0'`(空字符),不是 `"\10"`。另外,字符串比较不能直接用 `!=` 运算符。
- 第8行的 `if(s[i]=='')` 中,`''` 是空字符常量,这是非法的。你需要判断字符是否为空格,应该用 `' '`(一个空格字符)。
- 第9行缺少分号,语句 `s[i]='_'` 后面需要加分号。
- 循环变量 `i` 没有递增,会导致无限循环。