对非常简单的 C 代码有疑问。我编写了一个代码来计算字符串的长度,而不使用 strlen 函数。如果我输入一个中间没有空格的字符串,下面的代码可以正常工作。但是如果我输入一个像“我的名字是---”这样的字符串,显示的长度是第一个空格之前的单词的长度,在这个例子中,应该是 2。这是为什么呢?空格和空字符不是两个不同的字符吗?请指导我如何更改代码以返回整个字符串长度?
char s[1000];
int length = 0;
printf ("Enter string : ");
scanf ("%s", s);
for (int i = 0; s[i] != '\0'; i++)
{
length++;
}
printf ("Length of given string : %d", length);