C语言初学者,刚接触指针,感觉好多东西不太明白,写了一个程序,一直有错又找不出来,跪求指导啊 T T
题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:①输入10个数;②进行处理;③输出10个数。所有函数的参数均用指针。
我写的程序:
#include <stdio.h>
int a[10];
int *shuru(void);
int *zhixing(int *a1);
void shuchu(int *a1);
int main (void)
{
shuru(void); 【两个错误提示都指向了这一行!!】
zhixing(a);
shuchu(a);
return 0;
}
int *shuru(void)
{
int i=0,*a1;
for(;i<10;i++)
{
scanf("%d",&a[i]);
}
a1=&a[0];
return *a1;
}
int *zhixing(int *a1)
{
int min,max,i,m=0,n=0,c,d;
a1=&a[0];
min=max=*a1;
for(i=0;i<10;i++)
{
if(*(a1+i)<min)
{
min=*(a1+i);
}
if(*(a1+i)>max)
{
max=*(a1+i);
}
}
for(;;)
{
if(*(a1+m)=max)
{
break;
}
m++;
}
for(;;)
{
if(*(a1+n)=min)
{
break;
}
n++;
}
c=*(a1+m);
*(a1+m)=*(a1+9);
*(a1+9)=c;
d=*(a1+n);
*(a1+n)=*a1;
*a1=*(a1+n);
return *a1;
}
void shuchu(int *a1)
{
int i;
for(i=0;i<10;i++)
{
printf("%d",*(a1+i));
}
}
错误提示:
error C2143: syntax error : missing ')' before 'type'
error C2059: syntax error : ')'
另外好像还有几处错误
int *shuru(void){太感谢了!!原来是因为这个,好吧,是我学得太渣了。。 改了这两个地方以后没有错误了,但是运行程序,输入十个数字以后就会弹窗提示 ”遇到错误需要关闭“。这是为什么呀。。还有错误吗?
追答应该是内存访问违规了。。
太感谢了!!原来是因为这个,好吧,是我学得太渣了。。 改了这两个地方以后没有错误了,但是运行程序,输入十个数字以后就会弹窗提示 ”遇到错误需要关闭“。这是为什么呀。。还有错误吗?
追答额 你这题 我前些天才回答过一次..源代码还在
#include
#include
//输入十个数字
void Input10Number(int *pNumber)
{
printf("请输入十个数字:");
for (int i = 0; i *(pNumber + i))
{
Temp = *(pNumber + i);
nPos = i;
}
}
*(pNumber + nPos) = (*pNumber);
(*pNumber) = Temp;
//最大 放最后一位
Temp = *pNumber; nPos = 0;
for (int i = 0; i < 10; i++)
{
if (Temp<*(pNumber + i))
{
Temp = *(pNumber + i);
nPos = i;
}
}
*(pNumber + nPos) = (*pNumber+9);
*(pNumber+9) = Temp;
}
void OutPut10Number(int *pNumber)
{
for (int i = 0; i < 10; i++)
printf((i<9) ? " %d" : " %d\n", *(pNumber + i));
}
int main(void)
{
int nNumer[10];
Input10Number(nNumer);
Swap(nNumer);
OutPut10Number(nNumer);
system("pause");
return 0;
}