Пиша 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