向上的蜗牛 发表于 2018-7-30 12:37:36

好像和小甲鱼说的有点不同

#include <stdio.h>

#define MAX 100
int main()
{
       
        char str;
        int i,j=0,l=0;
       
       
        printf("请输入一个字符串:");
        fgets(str,MAX,stdin);
       
        for(i=0;*(str+i)!='\n';i++)
        {
                j++;
        }
        printf("您总共输入了%d个字符!",j);
}

向上的蜗牛 发表于 2018-7-30 12:38:24

上面那个是我写的,附上小甲鱼老师的#include <stdio.h>

#define MAX 1024

int main()
{
      char str;
      char *target = str;
      int length = 0;

      printf("请输入一个字符串:");
      fgets(str, MAX, stdin);

      while (*target++ != '\0')
      {
                length++;
      }

      printf("您总共输入了 %d 个字符!\n", length - 1);

      return 0;
}

BngThea 发表于 2018-7-30 12:52:05

小甲鱼老师的意思是如果将数组名直接++会出错
你的代码并没有对数组名直接++操作

向上的蜗牛 发表于 2018-7-30 13:14:50

BngThea 发表于 2018-7-30 12:52
小甲鱼老师的意思是如果将数组名直接++会出错
你的代码并没有对数组名直接++操作

原来如此,谢谢{:10_254:}
页: [1]
查看完整版本: 好像和小甲鱼说的有点不同