任意の数値を並べ替えるためにこのコードを書きましたが、次のエラーが表示されます: In function 'int main()': invalid use of void expression
#include <stdio.h>
#include <stdlib.h>
typedef unsigned long int uint;
uint t[11],n;
void permute(uint k) {
uint i,c;
if (1==k) {
for (i=n; i>0; --i)
printf("%d", t[i]);
printf("\n");
}
else
{
permute(k-1);
for (i=1; i<k; ++i)
{
c=t[i]; t[i]=t[k]; t[k]=c;
permute(k-1);
c=t[i]; t[i]=t[k]; t[k]=c;}
}
}
void run(uint x)
{
n=0;
while (x>0)
{
t[++n]=x%10;
x /= 10;
}
permute(n);
}
int main ()
{
printf ("%d\n",run(125));
}