if(myChar=="\n")
^ ^
Вы сравниваете myChar
неправильно. Попробуйте вместо этого:
if(myChar == '\n')
^ ^
Вторая проблема заключается в том, что getchar
возвращает int
, а не char
. Может быть, вы можете переписать это так:
int myChar;
while((myChar = getchar()) != EOF && myChar != '\n')
{
/* Your stuff. */
}
EDIT
В свете комментариев, я думаю, что некоторая операция stdio до этого while
оставляет \n
в буфере.
Вместо scanf("%d", &radix)
попробуйте:
scanf("%d ", &radix);
^
Это место заставит scanf
съесть оставшиеся пробелы (включая перевод строки).