|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main(void)
{
int i,j;
int k,a[15]={0},*p=a;
printf("please input a[15]:\n");
for(i=0;i<15;i++)
{
scanf("%d", &k);
for(j=0;j<i&&k<*(p+j);j++);
if(j<i) for(int b=i; b>j; b--) *(p+b)=*(p+b-1);
*(p+j)=k;
}
printf("%d",a[0]); //为何统一用指针输出会在第一位数前出现空格,而分别用数组和指针输出不会出现这样的问题
for(i=1;i<15;i++)
printf("%3d", *(p+i));
printf("\n"); //输出的时候没有换行呀,而且我把它删了之后对结果没影响,那么这个换行符有什么作用吗?
return 0;
}
问题见备注
- #include<stdio.h>
- #define N 5
- int main(void)
- {
- int i,j;
- int k,a[N]={0},*p=a;
- printf("please input a[15]:\n");
- for(i=0;i<N;i++)
- {
- scanf("%d", &k);
- for(j=0;j<i&&k<*(p+j);j++);
- if(j<i) for(int b=i; b>j; b--) *(p+b)=*(p+b-1);
- *(p+j)=k;
- }
- //printf("%d",a[0]);
- for(i=0;i<N;i++)
- {
- printf("%d ", *(p+i));
- }
- printf("\n");
- return 0;
- }
复制代码
没啥问题啊
最后一个for 的i 不是不能等于0 而是 必须等于0
首字符有空格 不是和你%3d 限制有关吗
|
|