我只是想知道是否可以这样做:
char yn;
scanf("%79/6ec",yn);
所以yn只能变为y(0x79)或n(0x6e)
答案 0 :(得分:3)
不,但您可以使用scanf来读取字符
scanf("%c" , &yn );
之后你必须检查是y / n还是非法输入。
if ( yn == 'y' ) {
...
}
答案 1 :(得分:3)
您可以使用%[
转换并执行以下操作:
char yn[2];
if (scanf("%1[yn]", yn) == 1 && yn[0] == 'y')
答案 2 :(得分:3)
更好的方法是使用scanf scanset,如:
char c[2];
if( scanf("%1[yn]",c)==1 )
puts("yn");
else
puts("not");