background image

与 C++中标准输入实现方式上的一点区别

以下是引用片段:

  #include  
  int main() 
  ...{ 
  char a,b; 
  printf("Please input the first character:"); 
  scanf("%c", &a); 
  printf("Please input the second character:"); 
  scanf("%c", &b); 
  printf("The two characters are %c, %c", a, b); 
  return 0; 
  }

  程序运行结果如下:

  而下面这段程序却可以正常运行:

以下是引用片段:

  #include  
  int main() 
  ...{ 
  char a; 
  int b; 
  printf("Please input the first character:"); 
  scanf("%c", &a); 
  printf("Please input the second integer:"); 
  scanf("%d", &b); 
  printf("The two characters are %c, %d", a, b); 
  return 0; 
  }

  运行结果如下:

  当时对这个问题很困惑,时间一长就慢慢淡忘了。