c - 如何在 C 函数中使用未定义的字符串大小?

标签 c string

我是一个初学者,不是以英语为母语的人,所以请原谅我的无知。我的作业是用 C 创建一个函数来比较 char 字符串的元素。该函数稍后在 main() 中调用,它应该在其中处理具体字符串。但这些字符串的每个条目的大小可能不同,因此在函数中定义大小是没有意义的。我需要知道每个字符串的大小,否则我的程序将不知道何时停止。我该如何实现这一目标?我最初的想法是使用函数 sizeof()。这会起作用还是解决方案更复杂?感谢您的所有回答!

最佳答案

sizeof 运算符用于评估数据类型或变量的大小,以 char 大小存储单元的数量来衡量。 它对于评估字符串的长度没有用处。

为此,您可以使用 C 库 (string.h) 的 strlen() 函数。 strlen() 返回字符串的长度,不包括 null。

您还可以编写自己的函数来计算字符串长度,如下所示

int stringlen(char str[])
{
  int len=0;
  while(str[i] != '\0')
  {
   len++;
  }
  return len;
}

关于c - 如何在 C 函数中使用未定义的字符串大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47596309/

相关文章:

c - C 多线程消费者-生产者程序中的段错误

c - 函数中的结构和文件中的输出

string - 打印、放置、说出和转义字符

python - 如何在python中替换特定单词后的下一个单词

c - 错误 : invalid use of undefined type struct in C

c++ - 许多字符串中的相似字符串

c - 在 C 中没有正确使用 strcmp

java - 替换字符串中许多字符的有效方法是什么?

c - 为什么数组在C中的字符串后面有路径?

sql-server - SQL Server 2019 忽略 WHERE 子句?