|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- void main()
- {
- void sort(int **p,int n);
- int i,a[20],**p,n,*p1[20];
- printf("请输入需要对几个数进行排序:\n");
- scanf("%d\n",&n);
- for(i = 0;i < n;i++)
- {
- p1[i] = &a[i];
- }
- printf("请输入%d个整数:\n",n);
- for(i = 0;i < n;i++)
- {
- scanf("%d",p1[i]);
- }
- p = p1;
- sort(p,n);
- for(i = 0;i < n;i++)
- {
- printf("%4d",*p1[i]);
- }
- }
- void sort(int **p,int n)
- {
- int i,j,*temp;
- for(i = 0;i < n - 1;i++)
- for(j = i + 1;j < n;j++)
- if(**(p + i) > **(p + j))
- {
- temp = *(p + i);
- *(p + i) = *(p + j);
- *(p + j) = temp;
- }
- }
复制代码 我想问的是:为什么输完第一个scanf(scanf("%d\n",&n);)之后,还需要继续输入完第二个循环输入(for(i = 0;i < n;i++){scanf("%d",p1[i]); })才会打印它前面的那一句(printf("请输入%d个整数:\n",n);)之后无需输入任何数了,这和书上的运行结果不一样啊,但代码一模一样
|
|