そこで私は C を学び、Learn C を難しい方法で使用することにしました。とにかく、例の 1 つを編集しようとしましたが、出力は期待したものではありません。コマンドラインからプログラムを e14 asd として呼び出します。これは「すべき」印刷: 'e' == 101 'a' == 97 's' == 115 'd' == 100
ただし、「d」行はまったく出力されません。私が持っているコードは次のとおりです。
#include <stdio.h>
#include <ctype.h>
void print_letters(int argc, char *arg[])
{
int i = 0;
int j = 0;
for(j = 0; j < argc; j++) {
for(i = 0; arg[i] != '\0'; i++) {
char ch = arg[j][i];
printf("j is %d and i is %d\n", j, i);
if(isalpha(ch) || isblank(ch)) {
printf("'%c' == %d \n", ch, ch);
}
}
printf("\n");
}
}
int main(int argc, char *argv[])
{
print_letters(argc, argv);
return 0;
}
問題はargv部分に関係していると思いますが、周りを見回しても、「d」が表示されない原因が正確にはわかりません。
誰かが私にそれを説明できれば、それはありがたいです。
ありがとう!