私はプログラミングがまったく初めてです。
Dave と入力したいのですが、「良い一日を」と表示されるはずです。
だから私はこのように書いています:
{
char str[100];
printf("\nwhat is your name?\n");
scanf("%s",str);
if (str="Dave")
{
printf("\nhave a nice day\n");
}
}
結局、何も表示されません。どうしたの?
私はプログラミングがまったく初めてです。
Dave と入力したいのですが、「良い一日を」と表示されるはずです。
だから私はこのように書いています:
{
char str[100];
printf("\nwhat is your name?\n");
scanf("%s",str);
if (str="Dave")
{
printf("\nhave a nice day\n");
}
}
結局、何も表示されません。どうしたの?
あなたのコードはstr、文字列literalを指すように割り当てています"Dave"。代わりに(を使用して)比較するつもりだったと思います==か?char2 つの配列のアドレスを比較すると、これも失敗します。C では、strcmpを使用して文字列を比較する必要があります
if (strcmp(str, "Dave") == 0)
文字列比較にはライブラリ関数が必要です。交換
if (str="Dave")
と
if(strcmp(str, "Dave") == 0)
そして最初に、含める
#include<string.h>
strcmp()c での文字列比較はfromで行うことができます#include <string.h>
if (strcmp(str,"Dave")==0)
{
printf("\nhave a nice day\n");
}