Моя программа: Что-то не такПочему моя программа возвращает символы, которые я не вводил? (Pure C)
#define _CRT_SECURE_NO_WARNINGS
#include <ctype.h>
#include <stdio.h>
//Функция для проверки соответствия символов.
int ifSignsCorrect(char theChar) {
if ((theChar >= 'A' && theChar <= 'Z') || (theChar >= 'a' && theChar <= 'z') || theChar == '.' || theChar == ' ' || theChar == '*') return 1;
return 0;
}
int main() {
char string[256];
int i = 0;
//Заполняем массив
for (i = 0; i < 256; i++) {
scanf("%c\n", &string[i]);
if (string[i] == '*') break;
printf("%с\n", string[i]);
if (ifSignsCorrect(string[i]) != 1) {
printf("You used wrong characer, formating disc C (Just joking)\n");
return;
}
}
}
Когда 'i == 0', что вернет это выражение' string [i-1]! = '*' '? –
* Что-то не так * .... что, собственно, неправильно, как только вы исправили приведенные ошибки? (ПРИМЕЧАНИЕ: 'scanf' вернется после того, как пользователь нажмет ENTER ('\ n') - знаете ли вы, что происходит в вашей программе при достижении ENTER?) – lurker
ах теперь я понимаю. – user2757588