2016-03-30 16 views
2

ユーザーからの言葉があり、長さを計算する必要がありますが、何らかの理由でstrlen()またはsizeof()が機能しないようです。私はここで間違って何をしていますか?scanfから文字列の長さを取得

printf("Enter a word: "); 
char word; 
scanf("%c",&word); 
printf("%i",strlen(word)); 

これは本当に簡単ですが、私の人生のために文字列の長さを印刷することはできません。

答えて

2

問題は、文字ストレージを1つだけ使用して文字列を読み取ろうとしていることです。そこに格納できる唯一の文字列は、ヌル文字列(長さがゼロ)です。すなわち、 word='\0'

ワードバッファのサイズを増やします。 さらに、strlenは、ポインタがchar*で、プレーンな文字ではありません。

char word[100]; 
scanf("%s",word);  
printf("%i",strlen(word)); 
関連する問題