我再自学C指针的时候有一道作业
//编写一个int string_len(char *s),返回字符串s的字符长度
我写的代码如下,但是程序一直就直接输出0,请看代码:
int string_len(char *s);
int main()
{
char *name = "qwe";
int len = string_len(name);
printf("%d\n", len);
return 0;
}
int string_len(char *s){
int sum = 1;
do {
if(*s != '\0'){ //因为字符数组最后一个总归是'\0',所以这句话用来判断是不是最后一个
sum+=1; //不是的话SUM+1
}else{
return 0; //是直接返回0,问题就出现在这里程序一直返回0
}
} while (s++);
// printf("%d\n", s[0]); //被我注释掉了,这句话我用来看指针能不能指向数组的首位
return sum;
}
//另外问大家下怎么在网页中用markdown的代码块?
//一般我都是TAB键,网页下TAB一下直接跳出文本编辑框
//我想总不能一个一个按空格吧,大家怎么解决的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.