1447391641 发表于 2020-11-12 19:30:21

程序运行

#include <stdio.h>
sub(int *s,int n)
{
        int i,j=0;
        for(i=0;i<n;i++)
                if(*(s+i)%2!=0)        s=s;
        n=j;
}
int main()
{
        int a={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);
        return 0;
}
这个程序怎么运行的?if那看不懂

昨非 发表于 2020-11-12 19:49:31

不明白你这代码有啥意义?这是你自己写的吗?

风过无痕1989 发表于 2020-11-12 20:17:43

s = s; 和 n = j; 这两句想要干什么?

要么给出题目要求,要么在这两句上给出注释,才好帮助你解决问题

chxchxkkk 发表于 2020-11-13 10:09:48

if(*(s+i)%2!=0)      s=s;
意思是如果数组元素不能整除2,则s=s.
*(s+i)相当于s

葛明佳 发表于 2020-11-13 11:44:09

if(*(s+i)%2!=0)
这一行是判断这个数组的第i个元素对2取余数是否为0。
*(s+i)就相当于s [ i ],通过解引用指针来访问数组内容
页: [1]
查看完整版本: 程序运行