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