私はbrainfuckインタープリターの実装に取り組んでおり、2つの連続,
したコマンドの呼び出しに苦労しています.
これが私のコードの抜粋です:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MEM_SIZE 30000
#define MAX_LINE_LENGTH 256
int main (int argc, char **argv)
{
char *input = ",.,.";
char bytes [MEM_SIZE] = {0};
int pos=0;
int i=0;
while (input[i] != '\0'){
switch (input[i]){
case '.':
printf ("%c", bytes[pos]);
break;
case ',':
printf ("Enter Number:\n");
bytes[pos] = fgetc (stdin);
printf ("Number Entered\n");
break;
default:
break;
}
i++;
}
return EXIT_SUCCESS;
}
プログラムの出力は次のとおりです。
Enter Number:
3 // This is me, manually entering the value.
Number Entered
3Enter Number:
Number Entered
2 番目の呼び出しが機能しないのはなぜfgetc
ですか?