你的程序运行不了是因为有一些错误。让我来帮你修改一下:
1. 首先,你在使用`gets_s`函数时没有给数组分配内存空间。
2. 其次,在遍历输入字符串时,你没有逐个读取字符。
3. 此外,在判断字符是否为空格时,你应该用`==`而不是`!=`。
4. 最后,你对字符长度的计数逻辑也有点问题。
下面是修改后的代码:
- #include <stdio.h>
- #define MAX_LENGTH 50
- int main() {
- char a[MAX_LENGTH];
- gets_s(a, MAX_LENGTH);
- int i = 0, j = 0;
- while (a[i] != '.') {
- if (a[i] == ' ') {
- printf("%d ", j);
- j = 0;
- } else {
- j++;
- }
- i++;
- }
- printf("%d", j); // 输出最后一个单词的长度
- return 0;
- }
复制代码
现在你可以尝试再次运行程序,输入一个文本并以句号结尾,然后程序将输出每个单词的长度。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。