码迷,mamicode.com
首页 > 其他好文 > 详细

scanf后加空格,的后果

时间:2016-10-10 16:34:07      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

最近练习C语言函数,用函数进行选择排序

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     void sort(int array[],int n);
 6     int i,slist[10];
 7 
 8     for (i = 0; i<10 ;i++)
 9     {
10         scanf("%d ",&slist[i]);
11     }
12     sort(slist,10);
13     printf("The sorted array:\n");
14     for(i= 0;i <10;i++)
15     {
16         printf("%3d",slist[i]);
17     }
18     printf("\n");
19     return (0) ;
20  } 
21  
22  void sort(int array[],int n)
23  {
24      int i,j,k,m;
25      for(i = 0;i < n-1;i++)
26      {
27          k = i;
28          for(j = i+1;j < n; j++)
29          {
30              if(array[j]<array[k])
31              {
32                  k = j;
33             }
34          }
35         m = array[i];
36          array[i] = array[k];
37          array[k] = m;
38      }
39  }

技术分享

调试运行后,输入完数组后总要再输入一个数才能显示结果。在网上找到选择排序的方法,发现代码内容一样就是找不到错误。经过多番询问,得知scanf %d后不需要加空格

 

#include <stdio.h>

int main()
{
    void sort(int array[],int n);
    int i,slist[10];

    for (i = 0; i<10 ;i++)
    {
        scanf("%d",&slist[i]);
    }
    sort(slist,10);
    printf("The sorted array:\n");
    for(i= 0;i <10;i++)
    {
        printf("%3d",slist[i]);
    }
    printf("\n");
    return (0) ;
 } 
 
 void sort(int array[],int n)
 {
     int i,j,k,m;
     for(i = 0;i < n-1;i++)
     {
         k = i;
         for(j = i+1;j < n; j++)
         {
             if(array[j]<array[k])
             {
                 k = j;
            }
         }
        m = array[i];
         array[i] = array[k];
         array[k] = m;
     }
 }

去掉scanf 里面的空格

技术分享

scanf后加空格,的后果

标签:

原文地址:http://www.cnblogs.com/Pythonstart/p/5946145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!