このコードは、プログラムを再実行するまでは正常に動作するようです。それでも動作するようですが、次のテキストセットを入力する行の先頭には「-10」があります。私は肯定的ではありませんが、問題はprintfに私が言うことができるものから見えます。誰も私がこれを理解するのを助けることができますか?ありがとうございました! ご迷惑をおかけして申し訳ございません...このプログラムが何をすべきかを説明するリクエストに応じます。 '#'記号まで入力を受け取り、対応する8進数のASCIIコードで印字することになっています。プログラムを再実行しようとすると、このコードが-10になるのはなぜですか?
printf("-%d ", ch);
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define COUNT 8
int main(int argc, const char **argv)
{
char ch;
int charcount;
while((ch = getchar()) != '#')
{
putchar(ch);
printf("-%d ", ch);
charcount++;
if(charcount % COUNT == 0)
printf("\n");
}
return 0;
}
受信したテスト入力、期待される出力、出力を編集して追加してください。また、デバッガを使用することを強くお勧めします。 –
'printf(" - %d "、ch);' – BLUEPIXY
ASCII値10の改行文字 '\ n'の序数を出力しています。 –