| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:这是一个用指针的方法给十个整数排序,但为什么将scanf("%d",&a[i]);写成: ...
只看楼主 加入收藏
维海
Rank: 2
等 级:论坛游民
帖 子:23
专家分:53
注 册:2010-11-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
这是一个用指针的方法给十个整数排序,但为什么将scanf("%d",&a[i]);写成:scanf("%d ",
#include <stdio.h>
void Paixupow(int *p);
int main()
{
    int a[10],i;
    for(i=0;i<10;i++)
    scanf("%d ",&a[i]);
    Paixupow(a);
    return 0;
}
void Paixupow(int *p)
{
  int i,j,temp;
  for(i=1;i<=10;i++)
  {
  for(j=0;j<10-i;j++)
    {
      if(*(p+j)>*(p+j+1))
       {
         temp=*(p+j);
         *(p+j)=*(p+j+1);
         *(p+j+1)=temp;
       }
    }
 }
 for(i=0;i<10;i++)
 {
    printf("%d ",*(p+i));
 }
printf("\n");
}
这是一个用指针的方法给十个整数排序,但为什么将scanf("%d",&a[i]);写成:scanf("%d ",&a[i]);程序无法运行呢?望高人指点。
搜索更多相关主题的帖子: scanf 整数 指针 
2010-12-03 22:33
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:10 
回复 楼主 维海
printf和scanf用法是有些不一样的,你看看书就知道,scanf中“”里面的只能是格式信息,你加一个空格,系统就会判断你的空格是哪种格式,但实际上空格什么格式都不是,系统不认识,所以报错,我以前也出现过这种情况,写出过scanf(“%d\n”,&i)这样的语句,同样的道理。printf中系统首先会判断存在格式信息不?如果不存在就按照“”里面的内容原样输出。
2010-12-04 00:15
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:10 
也可以理解为scanf函数中“”里面的参数只能是格式信息,
printf函数中“”里面的参数可以是格式信息以外的内容
2010-12-04 00:20
维海
Rank: 2
等 级:论坛游民
帖 子:23
专家分:53
注 册:2010-11-25
收藏
得分:0 
谢谢你
2010-12-09 09:43
快速回复:这是一个用指针的方法给十个整数排序,但为什么将scanf("%d",&a[i]);写 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033666 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved