麻烦大家帮我看看这个C语言程序为什么结果不对呀

对十个整数进行选择排序,我自己写了一个,运行结果总是不对的,找了好久都没发现哪里错了,就来麻烦下大家,谢谢啦。
#include
#include
#include
int main()
{
int i,j,k,t,s[10];
for(i=0;i<=9;i++)
{
scanf("%d",&s[i]);
}
for(i=0;i<=8;i++)
{
t=s[i];

    for(j=i+1;j<=9;j++)
    {
        if(t>s[j])
        {t=s[j];
        k=j; 
        }
    }

    s[k]=s[i];
    s[i]=t;
}

for(i=0;i<=9;i++)
{
    printf("%d\t",s[i]);
}
return 0;

}

K的赋值有问题,没进第二层for循环的时候K保留了上个循环的值,逻辑上是不对的