软件注册站
热情软件屋

 
scanf中的\n字符并没有导致先换行
编号: QA003094    
建立日期: 2000年7月1日 最后修改日期: 2004年2月29日
所属类别: C/C++ - 其他方面
   
    操作系统: Microsoft windows 98
    编程工具: Microsoft Visual c++ 6.0
    问题: 有一段程序如下:
    main()
    
{
    
int i;
    
printf("input i:");
    
scanf("\ni=%d",&i);
    
}
    

    问题是:\n字符并没有导致先换行,然后输入i=2,而是在一行上输出input i:i=2,为什么?
    水平: 刚入门(戚戎)
   
    你应该把\n放在printf中,scanf中的字符只表示输入格式,与输出是否换行无关。scanf()函数中,转义字符如(\n),系统并不把它们当成转义字符来解释,而是将其视为普通字符,要求原样输入。

    

此问题由李海、Linny 回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 其他方面,

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio