|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
sub (int *s,int n)
{
int i,j=0;
for(i=0;i<n;i++)
if(*(s+i)%2!=0) s[j+1]=s[i];
n=j;
}
int main()
{
int a[10]={11,12,13,14,15,16,17,18,19,20},n=10,i;
sub (a,n);
for(i=0;i<n;i++)
printf("%d,",a[i]);
return 0;
}
这个程序一直显示sub (int *s,int n)有错,请问是哪里错了呢?
已经调试好了,程序如下:
- // 本程序选出数组中奇数并输出
- #include <stdio.h>
- int sub (int *s,int n)
- {
- int i,j=0;
- for(i = 0;i < n;i++)
- {
- if(*(s + i) % 2 != 0) // 如果是奇数,则选出来重新存入数组
- {
- s[j] = s[i];
- j++;
- }
- }
- n = j;
- return n; // 返回选出奇数的个数
- }
- int main()
- {
- int i,n=10,m;
- int a[10]={11,12,13,14,15,16,17,18,19,20};
- m = sub (a,n);
- for(i = 0;i < m;i++)
- {
- printf("%d,",a[i]);
- }
- printf("\n");
- return 0;
- }
复制代码
|
|