如何用C语言捕捉一个汉字并储存?

如题
想用scanf或者getchar之类的在键盘上捕捉一个汉字并且储存,有什么办法嘛

char str[2];
scanf("%s",&str);

str中存储的就可以是汉字

scanf("%s",&str);
其中一个汉字占2个字节(GBK编码),那么str[0],str[1]就共同组成一个汉字,如果多个汉字就按照这个规则偏移就好