char * piglatin(const char s[], int len) {
char * result[len+3] = s[];
char * current[len+3] = s[];
if(s[0]=="o"||"u"||"e"||"a"||"i"){
result[len-1] = "y";
result[len-2] = "a";
result[len-3] = "-";
}
else{
for(int i = 0; i<len-1; i++){
result[i] = current[i+1];
result[len-1] = "-";
result[len] = current[0];
result[len+1] = "a";
result[len+2] = "y";
}
}
}
我在为计算机科学课程进行程序作业时遇到了一个问题。如果s的第一个字母是元音,教授希望我们在字符串s之后附加“-ay”,否则删除s的第一个字母并追加“ - ?ay”。我的错误出现在“if(s [o] ==”o“||”u“||”e“||”a“||”i“)并且它表示”指针和整数之间的比较(' int'和'const char *')“。我感到困惑,因为s不是指针,右边也不是整数。有一个错误显示为“指针和整数之间的比较('int'和'const char *')”
您必须将s [0] ==放在每个或每个if后面 - 并且对于常量使用单引号('),而不是双引号(“)。 – 2013-02-09 00:46:32
这只是无效的C++。禁用编译器扩展(GCC通过'-std = C++ 11'来实现),并启用警告和迂腐解析。 – 2013-02-09 00:55:39
将标记更改为'c',因为这不是在这里进行的C++类型的事情... – 2013-02-09 00:58:14