首页 > 代码库 > scanf后加空格,的后果
scanf后加空格,的后果
最近练习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后加空格,的后果
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。