2016-04-10 33 views
0
#include<stdio.h> 
int main() 
{ 
    int i;int n; 
    scanf("%d",&n); 
    char a[n]; 
    for(i=0;i<n;i++) 
     scanf("%c",&a[i]); 
    for(i=0;i<n;i++) 
     printf("%c",a[i]); 
    return 0; 
} 

//字符串並不完全重複 // scanf將輸入作爲字符串,但爲什麼?在這個簡單的程序中沒有得到期望的輸出?

+0

因爲你的教授想要它。 –

+1

_你的期望值是多少? – ForceBru

+0

@ user3121023你是對的,但請你能解釋一下嗎? – sgewraks

回答

3

你的代碼實際上表現得應該如此。在輸入3abc時,程序將打印出abc。 我想你的目標是改爲輸入3,然後按下回車鍵並輸入abc,再按一次再輸入abc應該打印出來。爲此,您必須調整第一個scanf呼叫。

#include<stdio.h> 
int main() 
{ 
    int i;int n; 
    scanf("%d\n",&n); //add \n in order to read the "pressing enter" 
     char a[n]; 
    for(i=0;i<n;i++) 
     scanf("%c",&a[i]); 
    for(i=0;i<n;i++) 
     printf("%c",a[i]); 
    return 0; 
} 
相關問題