[Новичок] ошибка с выводом в программе на языке Си.
Я хочу, чтобы программа завершилась, когда я наберу "END".
Но в моей программе "Selected for Redteam" отображается после окончания.
Кроме того, что делать, если имя человека - "конец",
Я не хочу, чтобы код останавливался, когда я набираю "конец". Как заставить компилятор понять, что "конец" отличается от "конца".
Что я уже пробовал:
#include <stdio.h> #include <stdlib.h> int main() { int no=0; int blueteam=0; int redteam=0; char name[15]; char END; printf("Type END to exit\n"); printf("Note:Make sure the first alphabet is in Uppercase.\n"); do { printf("\nStudent Number:%d\t Redteam:%d\t Blueteam:%d",no,redteam,blueteam); printf("\nEnter the First name:"); scanf(" %s", name); if(name[0] > 'M') { printf("Selected for Blueteam\n"); blueteam++; } else { // So if name[0] is 'E' for END, you will come here printf("Selected for Redteam\n"); redteam++; } no++; } while(name[2]=="END"); // this won't work return 0; }
Richard MacCutchan
Ваш код все еще неправильный: }while(name[2]=="END");
Вы не можете сравнить один символ (}name[2]);
со строкой ("END"
), то есть три символа.
shreyas s
Вот дерьмо, ты прав! Я такой тупой.
Richard MacCutchan
Мы все совершаем ошибки.
Я привел в порядок ваш отступ и добавил пару комментариев, чтобы вы могли посмотреть.
shreyas s
Большое спасибо, сэр. Ты просто чудо!!!!
Richard MacCutchan
Нет, я просто занимаюсь этим немного дольше, чем ты.