2017-01-17 27 views
-2

我要讀一個字符串,與其他來連接並打印出結果 我試過這段代碼:如何掃描與空格的字符串,並打印出來ç

int main(){ 
    char s= "StackOverflow "; 
    char ss[100]; 
    fgets(ss,100,stdin); 
    // i know i can use strcat but i don't want it here 
    printf("%s%s",s,ss); 
    return 0; 
} 

的ss是「是最好的網站學習的東西!「 有些幫助?

+2

請看編譯器的警告。 –

+1

你真的必須使用char * s來存放一個字符串「Stackoverflow」。您正試圖在char中保存一個字符串。 – 16tons

+0

'char s = ...' - >'const char * s = ...' – BLUEPIXY

回答

0

首先,你必須讓你的程序可編譯,因爲編譯會給出一些錯誤。

1)s必須定義爲char *schar s[]因爲char s只允許一個字符將被存儲在那裏,而不是陣列。 char *s聲明瞭一個指向字符串文字的指針,char s[]聲明瞭與字符串文字中出現的字符數組一樣多的字符數組,並用指定的字符串字符串的字符初始化它。

2)stdin是一個FILE *類型的全局變量(實際上它不是,但它的行爲)代表標準輸入。如果你沒有聲明它,編譯器不知道stdin標識符來自哪裏,所以它發出一個錯誤。消除第二個錯誤的方法是#include <stdio.h>,它有一個定義並使編譯器很高興。

一旦你做到這兩個步驟,你的程序是:

#include <stdio.h> 
int main(){ 
    char s[]= "StackOverflow "; 
    char ss[100]; 
    fgets(ss,100,stdin); 
    // i know i can use strcat but i don't want it here 
    printf("%s%s",s,ss); 
    return 0; 
} 

,並表現爲你想要的。