c - 以下功能无法按预期工作

标签 c string

我需要编写一个需要 2 个单词并计算其长度的函数。我在下面写了一个,但这段代码只适用于第一个单词。我怎样才能改进它来计算整个句子?

#include <stdio.h>
int findlen(int *s);

int main(void)
{

  char string1[80];
  printf("Enter a string: ");
  scanf("%s", string1);

  printf("Lenght of %s is %d\n", string1, findlen(string1));

}

//find the length of the inputted string
int findlen(char *s)
{

  int count = 0;
  while (*s != '\0')
  {
    s++;
    count++;
  }

  return count;
}

最佳答案

scanf 将仅接受一个单词输入..(即,当出现空格时它会中断..

尝试fgets读取完整的字符串,直到\n

关于c - 以下功能无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992373/

相关文章:

c++ - 如何最好地定义/构造/初始化 std::string 包装类

c - 如何评估 c 中的结构并通过指针变量给出输入?

c - 适用于 Windows 的硬件性能计数器 API

c - 在链表中添加多条记录

php - 如何检查字符串是否在数组中?

c++ - 将 'long' 类型转换为二进制字符串

Android 应用程序翻译不工作

c++ - 如果两个数据之间的不变量必须在所有线程上保持不变,它是否会强制对这些数据的读/写处于临界区?

php - PHP 中的 XTEA 加密和 C 中的解密

c - sscanf 循环仅多次读取第一个输入