读书人

scanf格式有关问题

发布时间: 2012-04-03 12:38:19 作者: rapoo

scanf格式问题
输入一下代码后:
#include <stdio.h>
int main()
{
int i,j,k;
scanf("%d \n%d \n%d \n",&i,&j,&k);
printf("%d \n%d \n%d \n",i,j,k);
return 0;
}

运行,输入
1
2
3
没反应,再输一个4
它才能输出
1
2
3
这是怎么回事???

[解决办法]
scanf("%d \n%d \n%d",&i,&j,&k);
[解决办法]
scanf 里不要换行符啊 呵呵 ……去掉看看 就是把\n去掉
[解决办法]
scanf("%d \n%d \n%d \n",&i,&j,&k);
-->
scanf("%d \n%d \n%d",&i,&j,&k);
[解决办法]
楼主可以参看一下:
http://topic.csdn.net/u/20100413/22/e1f309ba-437c-4375-9eb6-b1be52da6429.html
[解决办法]

C/C++ code
#include <stdio.h>int main(){int i,j,k;scanf("%d %d %d ",&i,&j,&k);//把换行符去掉printf("%d \n%d \n%d \n",i,j,k);return 0;}
[解决办法]
探讨
scanf("%d \n%d \n%d \n",&i,&j,&k);
-->
scanf("%d \n%d \n%d",&i,&j,&k);

[解决办法]
不是有特别需要的话,不要在scanf的格式控制符里加任何其他字符

直接用"%d%d%d"是一个好的习惯。
[解决办法]
scanf("%d \n%d \n%d \n",&i,&j,&k);
-->
scanf("%d \n%d \n%d",&i,&j,&k);
[解决办法]
scanf里最好别加‘\n’,printf里面可以加
[解决办法]
恩,把你scanf();里面的\n去掉,
[解决办法]
enter是/r/n,就是回车+换行,写入内存中后回车和换行符转换成一个换行符。
[解决办法]
#include <stdio.h>
int main()
{
int i,j,k;
scanf("%d \n%d \n%d",&i,&j,&k);//scanf(" ")后面一个%d和"之间不要有空格或\n//
printf("%d \n%d \n%d \n",i,j,k);
return 0;
}

我这个可以得到你想要的结果了,


参考这个贴的3楼http://topic.csdn.net/u/20100413/11/2af634c7-cf8e-43a5-aa75-259abfd76296.html
[解决办法]
scanf里面的格式控制串中不能有任何转义字符
[解决办法]
scanf中不能带\n,因为最后你输入后又回按回车。scanf不读取\n
[解决办法]
int scanf(const char *format, ...)

It returns when format is exhausted
[解决办法]
改为
scanf("%d \n%d \n%d",&i,&j,&k);
或者
scanf("%d%d%d",&i,&j,&k);
[解决办法]
去掉scanf中的\n,更多精彩教程(c++/c、java),参见www.caravelsoft.com
[解决办法]
#include <stdio.h>
int main()
{
int i,j,k;
scanf("%d %d %d ",&i,&j,&k);//把换行符去掉


printf("%d \n%d \n%d \n",i,j,k);
return 0;
}

正解
[解决办法]
scanf()中不用换行符,去掉 \n 就行了
[解决办法]
因为最后的一个\n没有scanf吃了,所以你还得输一个。最好不要在scanf中加\n
[解决办法]
楼主的问题真有意思啊!!!!!!!!!!

读书人网 >C语言

热点推荐