Я пытаюсь принять входные данные от STDIN. Если входная строка начинается с символа '$', то вход не преобразуется в строку, как есть.
int main(int argc, char*argv[]){
printf("%s\n",argv[1]);
}
Может кто-то пожалуйста, дайте мне знать, почему C компилятор заменяет символы с «0», если он встречает символ «$»?
Я предполагаю, что вы вызываете программу из Unix-подобной оболочки и оболочки interpretting '$ Foo' как имя переменной, и заменяя его ни с чем (потому что переменная' Foo' не существует). Попробуйте вместо этого использовать '' $ foo'' (с одинарными кавычками). – godlygeek
Кроме того, вы берете строку как аргумент командной строки, а не из stdin - они совсем разные. – godlygeek