Логическая операция - C (СИ)
Формулировка задачи:
Только недавно начал изучать си, потому строго не судите, прошу помочь разобраться в решении вопроса, код и описание чуть ниже:
Собственно сейчас при вводе одного символа, алгоритм отрабатывает как надо, но если пытаться ему скормить целиком слово, то программа отправляет слово по буквенно, т.е работает не правильно. Как правильно передать целую строку а не бить ее отдельно по символам?
int main(void) { uint8_t q; /*пробовал char*/ /*выводим текст в юарт */ UART_Puts(UART1, "write a or test\n"); while (1) { /* читаем полученные данные */ q = UART_Getc(UART1); if (q == 'a') { /*сравниваем, если введенная строка = a*/ UART_Putc(UART1, q); /*выводим в консоль то что ввели*/ UART_Puts(UART1, "- ok!\n"); } /*говорим ok*/ else if (q == 'test1') { /*сравниваем, если введенная строка = test1*/ UART_Putc(UART1, q); UART_Puts(UART1, "please try again!\n"); } else if(c) { UART_Putc(UART1, q); }
Решение задачи: «Логическая операция»
textual
Листинг программы
int main(void) { char buffer[100]; SystemInit(); DELAY_Init(); UART_Puts(UART1, "Hello\n"); while (1) { if (UART_Gets(UART1, buffer, sizeof(buffer))) { UART_Puts(UART1, buffer); } if (strcmp(buffer, "test1",5)==0) { UART_Puts(UART1, "ok\n"); } else if (strcmp(buffer, "test1")== NULL) { UART_Puts(UART1, buffer); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д