Jasin Yip

计蒜客【挑战难题】系列讲解(八)字符串长度

题目

第8题:字符串长度

  在右侧我们给出了一个已经基本完成的程序,读入了一个字符串,调用了一个叫 str_len 的函数来计算这个字符串的长度,并输出。
聪明的你应该已经发现了,这个叫 str_len 的函数并没有完成,在不修改函数原型的情况下,请完成 str_len 函数,实现我们上述的功能吧。

原题已有的代码

#include <stdio.h>
#include <stdlib.h>

int str_len(char *str);

int main()
{
  char *str = (char *)malloc(100*sizeof(char));
  scanf("%s",str);
  printf("%d", str_len(str));
  free(str);
  return 0;
}

int str_len(char *str){
//请在这里完成你的函数

  return n;
}

样例输入

abcdefg

样例输出

7

C 实现

int str_len(char *str){
//请在这里完成你的函数
  int n = 0;
  while (*str != 0){
    n++;
    str++;
  }
  return n;
}

它如何工作

本题考察对指针的运用,str_len 传入字符型指针 str*str 指向字符串首位。
设置变量 n 来记录 str 的长度。
while 去遍历字符串,当 *str 指向的是一个空字符( ASCII 码为0,相当于\0 )时,表示字符串结束。
最后返回变量 n 即可。

如有不懂,欢迎加入计蒜客QQ群咨询:

一群:239266679(满)
二群:228348940(满)
三群:159642279
四群:385386446

标签:c语言, 计蒜客, 挑战难题

添加新评论