-3
私はC言語を教えています。プログラムを実行すると正しく出力されていないようです。私はいつも、私はこれをどのように問題を解決することができ、そうでない場合でも、また、戻り値のみが入力されているものの最初の単語を印刷するようだ、「彼らが等しい」取得?:C if文が無効ですか?
#include <stdio.h>
char var[0];
char var2[0];
int main(void) {
printf("Enter Var 1=> ");
scanf("%s", &var);
printf(var);
printf("\n");
printf("Enter Var 2=> ");
scanf("%s", &var2);
printf(var2);
printf("\n");
if (var == var2)
printf("They are equal");
else
printf("They Are not equal");
}
は 'strcmp'が......' ...の#include良くここに適しているかの(のstrcmp(VAR、var2の)== 0){...} ' –
あなた' var'と'var2'バッファは長さがゼロの配列(' [0] ')なので、' scanf'を使うと未割り当てのメモリに書き込んでしまい、未定義の動作が発生します。 – Dai
'char var [0]; char var2 [0]; ' - >' char var [32]; char var2 [32]; '...' scanf( "%31s"、var); '...また、 'printf(var); printf(" \ n ");' - > 'printf("%s \ n "、var);'または 'puts(var);' – BLUEPIXY