我是編程新手,我正在參加這個在線編程課程CS50。所以我有一個任務是用C編寫一個程序,用戶輸入一些單詞(無論單詞前後有多少空格),我們必須打印每個單詞的第一個首字母。所以我做了這個節目:有人可以解釋變量聲明在C
#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
int n;
int i;
string name = get_string();
if(name != NULL)
{
if (name[0] != ' ')
{
printf("%c", toupper(name[0]));
}
for(i = 0, n = strlen(name); i < n; i++)
{
if(name[i] ==' ' && isalpha(name[i+1]))
{
printf("%c", toupper(name[i+1]));
}
}printf("\n");
}
}
但經過我聲明的變量INTñ它正確地只是做; int i; 在此之前,我甚至無法編譯程序。爲什麼?起初,我宣稱int i 在爲循環,但程序甚至沒有編譯。只是運氣不好,我試圖宣佈外部循環及其正確。我不明白這一點。有人可以解釋嗎? :)
'的for(int i = 0;'...只能在C++中,也許在C99,但不是在標準C.所以,你必須事先聲明它,像你這樣 –
@Karlaaz告訴您如何宣佈這些。程序中沒有編譯的變量 –
@ Jean-FrançoisFabreehm,C99 *是*標準C.標準C現在是C11。 –