簡單的for循環我寫functiton,該檢查是字符串只包含字母或沒有。如果我宣佈n
外循環:預計標識符或「(」在用C
int n = strlen(str);
for (int i = 0; i < n; i++)
它沒有任何錯誤,偉大工程,但如果我移動內部n
聲明:
for (int i = 0, int n = strlen(str); i < n; i++)
我有錯誤:
vigenere.c:71:21: error: expected identifier or '('
for (int i = 0, int n = strlen(str); i < n; i++)
^
vigenere.c:71:21: error: expected ';' in 'for' statement specifier
vigenere.c:71:21: error: expected expression
vigenere.c:71:46: error: use of undeclared identifier 'n'
for (int i = 0, int n = strlen(str); i < n; i++)
^
vigenere.c:71:47: error: expected ')'
for (int i = 0, int n = strlen(str); i < n; i++)
^
vigenere.c:71:9: note: to match this '('
for (int i = 0, int n = strlen(str); i < n; i++)
^
vigenere.c:71:49: error: use of undeclared identifier 'i'
for (int i = 0, int n = strlen(str); i < n; i++)
^
6 errors generated.
爲什麼?我在main()中有相同的循環,它的工作很好。 有人可以解釋我的問題嗎? 謝謝!
函數的恆等式完全:
int is_alpha_string(string str)
{
//for (int i = 0, int n = strlen(str); i < n; i++)
int n = strlen(str);
for (int i = 0; i < n; i++)
{
if (isalpha(str[i]) == 0)
{
return 0;
}
}
return 1;
}
旁註:用布爾結果與'1'或者'0'不要比較功能! '如果(!isalpha(..))'更容易閱讀('!'讀作「不」),只需大聲說出兩個表達式。 – Olaf
您是否嘗試刪除第二個「int」? – Olaf