2016-11-18 78 views
0

我是相當新的C++和做節目,需要一個命令行參數,並計算有很多爭論有那麼打印字符的數量多少的爭論他們是按字母順序的。我收到此錯誤代碼 格式「%C」需要類型「詮釋」的說法,但參數2的類型爲「字符*」C++代碼格式錯誤「%C」需要類型「詮釋」

(我的代碼)

#include<cstdio> 
#include<cctype> 
#include<cstdlib> 
#include<cstring> 
int main(int argc, char *argv[]) 
{ 
    /* 
    irrelevant 
    printf 
    statements 
    */ 

    for(pos=0; pos < maxCharLen; pos++){ 
     int count; 

     char totalLen = strlen(argv[pos]); 
     char totalAlpha (isalpha(argv[pos][pos]); 

     printf("Argument %d is", count); 
     printf("%c and %c is it's length.\n", argv[pos], totalLen); 
     printf("%c are alphabetic characters\n", totalAlpha); 
     count ++ 
    count++; 
    } 
    return 0; 
} 
+0

此代碼中有許多拼寫錯誤。 '0'而不是')','是alpha'(不應該有空格),並且缺少括號。這是你試圖編譯的確切代碼嗎? – smead

+0

不,只是我認爲是必不可少的 –

+0

錯誤代碼告訴你什麼是錯的。爲什麼不把totalLength改成int類型,就像它要求的那樣? – tinstaafl

回答

0

argvchar*所以數組argv[pos]回報char*所以你應該使用%s。畢竟正確的格式是:

printf("%s and %c is it's length.\n", argv[pos], totalLen);