c - 我不断收到一个未知错误,说预期的表达式 :

标签 c syntax-error expression cs50

readability.c:28:9: error: expected expression
    else:
上面显示的是我得到的错误。如果有人会指出我到底做错了什么。那太好了。贝娄,我将添加到目前为止编写的可读性代码。
#include <stdio.h>
#include <cs50.h>
#include <math.h>
#include <string.h>


int main(int argc, char *argv[])
{
    char *string = get_string("Enter a string:\n");
    int i = 0;
    int char_count = 0;
    int alp = 0;
    int word = 0;
    int sentance = 0;
    while(string[i]!='\0')
    {
        if((string[i]>='a' && string[i]<='z') || (string[i]>='A' && string[i]<='Z'))
        {
            alp++;
        }
        else
        {
            if ((string[i] = ' ') || (string[i] = '.') || (string[i] = '!') || (string[i] = '?') || (string[i] = ','))
            {
                word++;
            }
        }
        else
        {
            if ((string[i] = '.') || (string[i] = '!') || (string[i] = '?'))
            {
                sentance++;
            }
        }
        i++;
    }
    printf("%i\n", alp);
    printf("%i\n",word);
    printf("%i\n",sentance);
}
所以错误在第 28 行的某个地方。我假设我的“else”语句语法是错误的,但考虑到它与上面的行相同,我无法弄清楚出了什么问题。在添加第 28 行之前,代码运行良好

最佳答案

您的 if else 语句不匹配。
你的第一个 if 很好,然后是 and else。
在 else 里面,你有一个 if 语句。在那之后你还有另一个!
像这样:

if {..}
else { 
    if {...}
}
else {...}
它不匹配我猜你的最后一个 else 应该在第一个 else 中,与它里面的 if 相关联。或者我不知道你想要什么……也许你想要别的,如果?

关于c - 我不断收到一个未知错误,说预期的表达式 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63868953/

相关文章:

C "Error: Invalid initializer"

c - Libev编译时报错

java - Eclipse:导入中的双分号

c - 在 Linux 上以编程方式获取有关 ROM 内存类型和大小的信息

c - Eclipse CDT自动格式化C程序

php - mysqli_fetch_row 语法困惑

iPhone iOS 是否有用于类似代数计算器的应用程序的表达式解析器?

c# - 从表达式中获取父成员

c# - 有没有办法捕获 lambda 表达式,这样它就不会在编译时被迫采用表达式或委托(delegate)类型的身份?

c - 取消引用指针错误