@timonestudio

Почему команда не работает?

Почему когда я пишу команду /help , у меня ничего не происходит?
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <locale.h>

char name;
int age;
int captcha;

int GUI();


int main() {
	setlocale(LC_ALL, "Russian");
	printf("Привет!\n");
	printf("Как вас зовут?\n");
	scanf("%s", &name);
	printf("Сколько вам лет?\n");
	scanf("%d", &age);
	printf("Решите пример: 2+2\n");
	scanf("%d", &captcha);
	if (captcha == 4) {
		GUI();
	}
	else {
		printf("Извините, но вы не прошли проверку.");
	}
	return 0;
}
int GUI() {
	char command[200];
	printf("Вы в меню! Чтобы узнать возможности, напишите /help\n");
	scanf("%s", &command);
	if (command == "/help") {
		printf("Команды:");
		printf("/help - меню помощи");
		printf("/calc - калькулятор");
		printf("/info - информация");
		scanf("%s", &command);
	}
	if (command == "/info") {
		printf("Создатель: Timur Coderov\n");
		printf("Версия: 1.0\n");
		printf("Написана на: C");
		scanf("%s", &command);
	}
	return 0;

}
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rPman
Потому что строки так не сравнивают, == сравнит только указатели (что смешно, если сравнивать константы, то компилятор их соптимизирует и указатели станут равны, т.е. константы так сравнить получится)

Совет, включи в настройках компилятора проекта показ ВСЕХ варнингов, ключ компилятора /Wall (вторую опцию не обязательно хотя подход полезный)
spoiler
4fktybmw4dhmwr8oiyimvddthli.png

тогда компилятор на твои if-ы ругнется и ты о проблеме узнаешь заранее
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы