scanf是不是无法在for循环中使用

hgiut 2010-01-12 12:12:33
今天面试一个程序员,要他做个冒泡排序,算法没有问题,可是当在终端输入数字的时候却无法运行.程序代码如下:
#include <stdio.h>
#include <stdlib.h>

void main(int argc,char * argv[])
{
int i,j,temp;
int a[5]={1,3,6,4,2};
//printf("请输入数据:");
//scanf("%d",&a[0]);
for(i=1;i<5;i++)
{
scanf("请输入5个数:%d",&a[i]);
}

for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0;i<5;i++)
{
printf("%d\t",a[i]);
}
}
for 语句后面跟了个scanf,可是程序运行的时候,却不显示scanf的内容,我想知道是不是不能这样做,那有没有别的什么方法呢.
我要while语句是出现同样的问题.请各位高人指点下.
...全文
1752 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgiut 2010-01-12
  • 打赏
  • 举报
回复
好快啊

谢谢各位高人.
我还以为不能在for中用scanf呢,原来是我语法不过关.呵呵.
jernymy 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 traceless 的回复:]

printf("请输入5个数\n");for(i=0;i<5;i++)
{
scanf("%d",&a[i]);//重点这句,代码首先要按照规范来写}
}

[/Quote]

顶这个
liuxiaobing2008 2010-01-12
  • 打赏
  • 举报
回复
顶楼上的!!!!
yucuihaimeng 2010-01-12
  • 打赏
  • 举报
回复
for(i=1;i <5;i++)
{
scanf("请输入5个数:%d",&a[i]);
}

楼上正解

scanf 是输入函数

要输出用printf("请输入5个数");
建鼎呓语 2010-01-12
  • 打赏
  • 举报
回复
看来楼主对scanf的使用方法存在误解,scanf只从标准输入读取数据,并不会输出。
可以用
printf("请输入5个数:");
scanf("%d",&a[i]);
traceless 2010-01-12
  • 打赏
  • 举报
回复
printf("请输入5个数\n");
for(i=0;i <5;i++)
{
scanf("%d",&a[i]); //重点这句,代码首先要按照规范来写
}
stardust20 2010-01-12
  • 打赏
  • 举报
回复
for(i=1;i <5;i++)
{
scanf("请输入5个数:%d",&a[i]);
数组下标是从0开始的
for(i=0; i < 5; i++)

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧