|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是题目:
调用函数f,去除数组中的负数,输入数组x[7],输出结果1 3 4 6,输出使用格式控制"%5d"。
这是代码:
- #include<stdio.h>
- void f(int *a,int *m)
- {
-     int i,j;
-     for(i=0;i<*m;i++)
-         if(a[i]<0)
-         {
-             for(j=i--;j<*m-1;j++)
-                 a[j]=a[j+1];
-             *m=*m-1;    
-         }
- }
- int main()
- {
-     int i,n=7,x[7]={1,-2,3,4,-5,6,-7};
-     f(x,&n);
-     for(i=0;i<n;i++)
-         printf("%5d",x[i]);
-     return 0;
- }
复制代码
请问那个“j=i--”是什么意思呢
不会,只要j<*m-1这个条件成立就不会退出循环,j = i-- 是指每次把 i 赋值给 j 之后再减1
|
|