#include<stdio.h> int lenth(char s) { int n=0; while( *(s+n)!='\0') n++; return n; } int main() { int x; char str[]="this is a book"; x=length(str); printf("length=%d\n",x); return 0; }修改这段代码
时间: 2024-02-02 08:03:46 浏览: 62
这段代码有几个错误,我会帮你修正,下面是修改后的代码:
```c
#include<stdio.h>
int length(char *s) {
int n=0;
while( *(s+n)!='\0')
n++;
return n;
}
int main() {
int x;
char str[]="this is a book";
x=length(str);
printf("length=%d\n",x);
return 0;
}
```
修改的内容如下:
1. 函数名应该是 `length`,而不是 `lenth`。
2. `char s` 应该改为 `char *s`,因为 `char s` 只能表示一个字符,而我们需要处理的是一个字符串。
3. 函数中的变量 `n` 应该初始化为 0。
4. `x = length(str)`,应该传入的参数是 `str` 的地址,即 `&str[0]` 或者 `str`。
请注意,修改后的代码仅供参考,可能还存在其他问题需要修正。
阅读全文