我的这段程序哪里错了 帮忙找找
#include <stdio.h>
length(char *p)
{
int n;
n=0;
while(*p!='\0')
{
n++;
p++;
}
return n;
}
void main()
{
int len;
char *str[20];
printf("please input a string:\n");
scanf("%s",str);
len=length(*str);
printf("the string has %d characters.",len);
}
[解决办法]
void main() { int len; char str[20]; printf("please input a string:\n"); scanf("%s",str); len=length(str); printf("the string has %d characters.",len); }
[解决办法]
把主函数的 char *str[20]; 改为 char str[20];
把下面的 len=length(*str); 改为 len=length(str); 就可以了。
你是求一个字符串的长度,你原来定义的 char *str[20]; 是存放20个字符串指针的指针数组。不需要这样定义。