1

これがコードです

void main()
{
  unsigned char n,t;
  scanf("%hhu %hhu",&n,&t);
  printf("%hhu %hhu",n,t);
}

問題は、それぞれ 5 と 1 を入力すると、出力が 0 と 1 になることです。nの場合は 0 、 tの場合は1 です。ただし、型を char から int/unsigned に変更すると、出力は期待どおりに正しく、5 と 1 になります。

問題は、char を使用して (数値) 入力を要求すると、無効な値が返される理由です。

4

2 に答える 2

0

Besides that it is

int main(void) 

at least, you also might like to also add the necessary prototypes by including the appropriate header:

#include <stdio.h>
于 2013-04-04T10:47:45.220 に答える