2016-10-17 2 views
1

フルネームを表示したいが、2つ以上の名前を入力することはできません。プログラムは、配列の番号より多くの文字を持つ名前を入力するとスタックします。これをどうすれば解決できますか? 空白と配列がついています

#include <stdio.h> 
#include<stdlib.h> 
int main(){ 
char x[25]; 
printf("Enter your name"); 
scanf("%s",x); 
printf("Your name is %s", x); 
return 0; 
} 

はあなたが

+1

'のscanf( "%24 [^ \ n]"、X);' – BLUEPIXY

+2

代わりscanf' 'の' fgets'を使用することが推奨される理由は、いくつかの理由の一つであります。 – Lundin

+1

あなたのプログラムを正しくフォーマット/インデントしてください。 –

答えて

2

私は、これはあなたを助けることができると思いますありがとうございました。このプログラムは、あなたが入力したスペースや文字数を気にしません。最初の24文字とスペースのみが表示されます。 (文字列終端1)

#include <stdio.h> 
#include <stdlib.h> 

int main(){ 
    char x[25]; 
    char *xx=x; 
puts("Input Name"); 
fgets(xx,25,stdin); 
puts(xx); 

return 0; 
    } 
+1

'xx'変数は何ですか? 'x'を直接使うことができます。 –

+0

ありがとう!文字列ターミネータとは何ですか? – user7030669

+0

@ user7030669 google "string c" –

関連する問題