qqqpang 发表于 2021-4-15 14:47:24

s没定义

#include <stdio.h>
#include <string.h>

int main()
{
      char str1[] = "love";
      char str2[] = "FishC";

      if (strlen(str1)<strlen(str2))
      {
                printf("字符串"%s"比字符串"%s"短!\n",str1, str2);
      }
      else
      {
                printf("字符串"%s"比字符串"%s"长!\n", str1, str2);
      }

      return 0;
}

这里面为什么说我s没有定义呢

goddnsfc 发表于 2021-4-15 14:53:14

"字符串%s比字符串%s长!\n"

海绵布丁 发表于 2021-4-15 15:10:32

如果一定要中间加“”的话一定要加\,如:
#include <stdio.h>
#include <string.h>

int main()
{
      char str1[] = "love";
      char str2[] = "FishC";

      if (strlen(str1)<strlen(str2))
      {
                printf("字符串\"%s\"比字符串\"%s\" 短!\n",str1, str2);
      }
      else
      {
               printf("字符串\"%s\"比字符串\"%s\" 长!\n", str1, str2);
      }

      return 0;
}

肖-肖 发表于 2021-4-15 15:12:14

本帖最后由 肖-肖 于 2021-4-15 15:13 编辑

输出的-》"%s"这里错了
不需要再%s两边加双引号的,去掉就可以了
就是下边这个样子:

#include <stdio.h>
#include <string.h>

int main()
{
      char str1[] = "love";
      char str2[] = "FishC";

      if (strlen(str1)<strlen(str2))
      {
                printf("字符串%s比字符串%s短!\n",str1, str2);
      }
      else
      {
                printf("字符串%s比字符串%s长!\n", str1, str2);
      }

      return 0;
}

页: [1]
查看完整版本: s没定义