猪猪虾 发表于 2020-9-22 19:49:59

c语言里面%c,和%s的区别是啥

在下面的程序里面,明明我输入了中文,printf那行,要用%c,如果用%s就啥也没有,计算不了长度





#include <stdio.h>
#include <string.h>
//************************统计输入的中英文的总个数*************************
int main()
{
    char str;
    int i = 0, count = 0;   //count赋值-1,因为在读取字符串时候发现,字符串结束时的最后一位并不是'\0',下一位才是
    printf("enter a string:");
    gets(str);
    printf("*str = %c , *(str + 1) = %c , *(str + 2 ) = %c \n", *str, *(str + 1), *(str + 2));

    for (i = 0; ; i++)
    {
      if (*(str + i) == '\0')
      {
            break;
      }
      else
      {
            count += 1;
      }
    }
    printf("the lenth of the string is: %d", count);
}

baige 发表于 2020-9-22 19:58:29

%c是单个字符,%s是字符串

猪猪虾 发表于 2020-9-22 20:06:42

baige 发表于 2020-9-22 19:58
%c是单个字符,%s是字符串

怪我太蠢
页: [1]
查看完整版本: c语言里面%c,和%s的区别是啥