В языке C все директивы, начинающиеся с "#", используются препроцессором.Препроцессор сканирует ваш файл перед компиляцией, так что «переменная» m жестко запрограммирована, и вы не можете изменить ее во время выполнения (когда вы запускаете программу).Кроме того, переменная "m" объявлена, но не используется.Чтобы изменить поведение программы во время выполнения, вы должны использовать стандартную переменную и использовать переключатель, чтобы проверить значение переменной и запустить соответствующий код.
Я бы также рекомендовал использовать стандартные типы, определяемыетакой язык, как "int" или "char", так как они лучше переносимы благодаря различным архитектурам.
Ваш код может быть таким
#include <stdio.h>
int main (void)
{
int m;
do
{
printf("\nWelcome\nPress 1 for Admin mode\nPress 2 for User Mode\nYour Choice:");
scanf("%d",&m);
if (m == 1)
{
printf("Welcome to admin mode");
return 0;
}
else if (m == 2)
{
printf("Welcome to user mode");
return 0;
}
else
{
printf("\nInvalid number \nPlease Try again");
}
}while(m != 1 || m != 2);
return 0;
}