Я пишу программу на C, которая может принимать ввод символов из командной строки. Если пользователь вводит символы в командной строке, программа должна напечатать значение этих символов в формате ascii. У меня возникают проблемы с 1) написанием оператора printf и 2) пропуском печати входных данных, если пользователь ничего не отправляет из командной строки. Вот что я написал:
int main(int argc, char *argv){
char thisChar; //Holds the character value of the current character.
int ascii; //Holds the ascii value of the current character.
int x = 1; //Boolean value to test if user input 0, our while loop break condition.
int i = 0; //Counter for the following for loop
if(argc > 0){
for(i; i<argc; i++){
thisChar = argv[i];
printf("%c\nAscii: %d\n", thisChar, thisChar);//prints the character value of thisChar followed by its ascii value.
}
printf("Done.");
}
}
Когда я вызываю его из командной строки следующим образом:
./ascii F G h
Результат:
�
k
�
�
Done.
Проблема в моем заявлении printf? И почему условие if оценивается как истинное, даже если я не отправляю ввод?
int main(int argc, char *argv)
- person this   schedule 12.02.2014