1

私はプログラミングがまったく初めてです。

Dave と入力したいのですが、「良い一日を」と表示されるはずです。

だから私はこのように書いています:

 {
  char str[100];
  printf("\nwhat is your name?\n");
  scanf("%s",str);
  if (str="Dave")
     {
        printf("\nhave a nice day\n");
      }
  }

結局、何も表示されません。どうしたの?

4

3 に答える 3

7

あなたのコードはstr、文字列literalを指すように割り当てています"Dave"。代わりに(を使用して)比較するつもりだったと思います==か?char2 つの配列のアドレスを比較すると、これも失敗します。C では、strcmpを使用して文字列を比較する必要があります

if (strcmp(str, "Dave") == 0)
于 2013-03-07T08:25:51.867 に答える
2

文字列比較にはライブラリ関数が必要です。交換

if (str="Dave")

if(strcmp(str, "Dave") == 0)

そして最初に、含める

#include<string.h>
于 2013-03-07T08:27:33.460 に答える
1

strcmp()c での文字列比較はfromで行うことができます#include <string.h>

if (strcmp(str,"Dave")==0)
     {
        printf("\nhave a nice day\n");
      }
于 2013-03-07T08:26:21.403 に答える