Code Bye

程序莫名停止运行 找不到问题

#include <stdio.h>
void SUM(int *p,int n);
int main()
{
	int a[10],i,*p;
	printf("please input 10 int :\n");
	for(i=0;i<10;i++)
		scanf("%d",a[i]);
	p=&a[0];
	SUM(p,10);
	return 0;
}
void SUM(int *p,int n)
{
	int j,sum=0;
	printf("the odd is :\n");
	for(j=0;j<n;j++)
		if(*(p+j)%2!=0)
		{
			printf("%d",*(p+j));
			sum=sum+*(p+j);
		}
		printf("\n");
		printf("sum is %d:\n",sum);
}
解决方案

30

scanf(“%d”,&a[i]);

5

sum的逻辑不对:
for(j=0;j<n;j++)
{
sum += *(p+j);
if(*(p+j)%2!=0)
printf(“%d “,*(p+j));
}

5

SUM里面的变量j也可以名为i,原因是SUM里的i和main里的i都是局部变量是不同的。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明程序莫名停止运行 找不到问题