解析错误:简单C程序
我为一个类编写了以下简单代码,从c=c开始的每一行都有一个解析错误。。。在if语句中。此外,我还发现以下错误: 警告:类型与以前的隐式声明不匹配。函数isUpperCase中isUpperCase的上一个隐式声明:在“=”标记之前分析错误。 对于isLowerCase也有类似的错误 有人有什么见解吗解析错误:简单C程序,c,parse-error,C,Parse Error,我为一个类编写了以下简单代码,从c=c开始的每一行都有一个解析错误。。。在if语句中。此外,我还发现以下错误: 警告:类型与以前的隐式声明不匹配。函数isUpperCase中isUpperCase的上一个隐式声明:在“=”标记之前分析错误。 对于isLowerCase也有类似的错误 有人有什么见解吗 #include<stdio.h> #include<string.h> #define LOWERCASE_START = 97 #define LOWERCASE_EN
#include<stdio.h>
#include<string.h>
#define LOWERCASE_START = 97
#define LOWERCASE_END = 122
#define UPPERCASE_START = 65
#define UPPERCASE_END = 90
#define ALPHABET_LENGTH = 26
void simpleEncryption(char s[]){
int i;
for (i=0; i < strlen(s); i++){
char c = s[i];
if (isUpperCase(c) == 1){
c = c - UPPERCASE_START + 1;
c = c % ALPHABET_LENGTH;
c = c + UPPERCASE_START;
} else if (isLowerCase(c) == 1){
c = c - LOWERCASE_START + 1;
c = c % ALPHABET_LENGTH;
c = c + LOWERCASE_START;
}
s[i]=c;
}
}
int isUpperCase(char c) {
if (c >= UPPERCASE_START && c <= UPPERCASE_END) {
return 1;
} else {
return 0;
}
}
int isLowerCase(char c) {
if (c >= LOWERCASE_START && c <= LOWERCASE_END) {
return 1;
} else {
return 0;
}
}
isUpperCase和isLowerCase在使用之前不会声明:在simpleEncryption之前为它们添加声明,或者将它们的定义移动到
正如宏首先指出的,定义是不正确的。修复宏或改用常量int变量:
static const int ALPHABET_LENGTH = 26;
isUpperCase和isLowerCase在使用之前不会声明:在simpleEncryption之前为它们添加声明,或者将它们的定义移动到
正如宏首先指出的,定义是不正确的。修复宏或改用常量int变量:
static const int ALPHABET_LENGTH = 26;
宏定义不应包含等号,您只需要:
#define LOWERCASE_START 97
#define LOWERCASE_END 122
#define UPPERCASE_START 65
#define UPPERCASE_END 90
#define ALPHABET_LENGTH 26
预处理器相当简单,它会盲目地将=97替换到C中,以生成如下损坏的内容:
c = c - = 97 + 1;
如果定义中有“=”。宏定义不应包含等号,您只需要:
#define LOWERCASE_START 97
#define LOWERCASE_END 122
#define UPPERCASE_START 65
#define UPPERCASE_END 90
#define ALPHABET_LENGTH 26
预处理器相当简单,它会盲目地将=97替换到C中,以生成如下损坏的内容:
c = c - = 97 + 1;
如果您的定义中有“=”。已被编辑以删除Oli注释的分号已被编辑以删除Oli注释的分号谢谢,这已经消除了类型不匹配错误,但我仍然有解析错误!谢谢,这已经消除了类型不匹配错误,但我仍然有解析错误!你,我的朋友,是救命恩人!非常感谢你!你,我的朋友,是救命恩人!非常感谢你!