哥特式服装男装:C语言问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 07:59:12
main()
{
int len;
char *str[20];
printf("please input a string \n");
scanf("%s",str);
len=length(str);
printf("thestring has %d characters.",len);
}
length(p)
char *p;
{
int n;
n=0;
while(*p='\0')
{
n++;
p++;
}
return n;
}
为什么运行结果总是等于0

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.\n",len);
}

int length(char *p)
{
int n=0;
while(*p!='\0')
{
n++;
p++;
}
return n;
}

改成这样就可以了。

其实就是while(*p='\0')这个语句惹得祸,应该是
while(*p!='\0')。
当然cctwnew回答得很好,把一些不规范的地方都给改了。还是要注意规范。

补充一点,提问者的书写规范有问题,虽然是发帖提问,但是养成良好标准的源码书写规范还是非常重要的。