int ch;
do
{
ch = getchar();
printf("ch = %d\n",ch);
}while(ch != '\n' && ch != EOF);
在这种情况下,输入 1234 的输出为
ch = 49
ch = 50
ch = 51
ch = 52
ch = 10
但是像这样给它
char chs[100] = {0};
unsigned int u = 0;
int sign = 1,k=0;
if(scanf("%[- 0-9]",&chs[0])== 1)
{
int ch;
do
{
ch = getchar();
printf("ch = %d\n",ch);
}while(ch != '\n' && ch != EOF);
在这种情况下,输入 = 1234 的输出为
ch =10
为什么会在这里发生???有人可以解释一下...为什么输出和以前不一样??
scanf 在这里到底是如何工作的?