- Vijos
- 2009-10-07 14:08:15 @
问一个小问题,vijos怎么知道应该把输入数据插入到cin流,还是stdin文件指针里面,还有,用conio.h(控制台输入输出)为什么就不能过?
例如a+b problem:
#include
#include
int main()
{
char str[100]={};
int l=0;
while ((str[l]=getch())!=13)l++;
int a,b;
sscanf(str,"%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
提交之后提示:运行超时
2 条评论
-
luoji LV 8 @ 2009-10-07 14:08:16
13是回车啊`难道数据最后没有回车吗?
-
2009-10-04 11:15:11@
#include
#include
int main()
{
char str[100]={};
int l=0;
while ((str[l]=getch())!=13)l++;
int a,b;
sscanf(str,"%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}话说我没大看懂。。。。。
((str[l]=getch())!=13)l++;
str[l]=getch() 是赋值语句,结果总是成立的直到文件尾,返回1,等到了文件尾返回1,返回值永远不等于13啊
所以是死循环。。。。可以这样写
str[0]=getch();
for (l=1;str[l]!=13;l++,str[l]=getch());至于sscanf(str,"%d%d",&a,&b);是否成立,我不大清楚(我是学pascal的,对c不大了解),等我找c、c++神牛来。。
- 1