2017-01-18 19 views
-2

このコードで何が問題になっていますか? 文字列と空白を比較しようとしています。空白と配列を比較する

void main() 
{ 
    char d; 
    int i; 
    char* mystring="Vikram Natarajan"; 
    char c=mystring[0]; 
    printf("%c\n",c); 
    for(i=0;i<100; i++) 
    { 
     if(mystring[i]==" ") 
     { 
      d=mystring[i+1]; 
     } 
    } 
    printf("%c\n",d); 
} 
+3

さてあなたはそれがどのように我々は間違っているかを知ることができますので、何をしなければならないか言っていませんか? – Stargateur

+3

多くのことが間違っています。どちらが正確にあなたが求めているのですか?例えば、「d」は何であると思われますか?文字列の長さは100文字ではありません。 –

+1

一般的に、[main()は何を返すべきですか?](http://stackoverflow.com/questions/204476/)の答えは "int"です「無効」ではない。マイクロソフトはあなたに「void」を使用する言い訳を与えていますが、移植性のあるコードはそれを避けています。 –

答えて

1

char型の比較のための単一引用符を使用し

if(mystring[i]==' ')

if(mystring[i]==" ")

を交換してください。

1

正解に加えて、isspacectype.hから使用することもできます。この関数は、渡された文字mystring[i]が空白かどうかを基本的にチェックします。だから、代わりに:

if(mystring[i]==' ') 

あなたができる:

if (isspace(mystring[i]))