为什么又是段错误呢?(我太菜了)

图片说明

#include<stdio.h>
int main()

{
    int A,N,i,S=0,t(int x),n,m;
    scanf("%d %d",A,N);
    for(i=1;i<=N;i++)
    {n=A*t(i);
    m=n*(N+1-i);
    S+=m;}}   /*还有。这里直接写S+=A*t(i)*(N+1-i)  可以吗*/

int t(int x)
{int i,p=1;
for(i=x-1;i>0;i--)
p=p*10;
return p;
}

你的题目是什么?

1.scanf("%d %d",A,N); 改成 scanf("%d %d",&A,&N);
2.main 函数返回值加上。

#include<stdio.h>
int main()
{
    int A,N,i,S=0,t(int x),n,m;
    scanf("%d %d",&A,&N);
    for(i=1;i<=N;i++)
    {
        n=A*t(i);
        m=n*(N+1-i);
        S+=m;
    }
    return 0;
}   /*还有。这里直接写S+=A*t(i)*(N+1-i)  可以吗*/

int t(int x)
{
    int i,p=1;
    for(i=x-1;i>0;i--)
        p=p*10;
    return p;
}

主函数返回了指针,没有释放啊