麻烦大佬看下哪里出问题了C++

#include <stdio.h>
#include <Windows.h>
#include < stdlib.h>
int comb(int z,int x)
{  
	return (z * 10) + x;
}
void pailie(int z, int x, int c)
{
	int num = 0;
	num++;
	if (x*c == z)
	{
		printf(z + "=" + x + '*' +c);
	}
}

int main()
{
	int i,a,b,c,d;
	for (i = 999; i < 9999; i++)
	{
		if (i % 100 == 0)
		{
			continue;
		}
		d = i % 10;/*个位数值*/
		c = i / 10 % 10;/*十位上的数值*/
		b = i / 100 % 10;/*百位上的数值*/
		a = i / 1000;/*千位上的数值*/
		if (b + c + d == b || b + c + d == c || b + c + d == d)
		{
			continue;
		}
		pailie(i, comb(a, b), comb(c, d));
		pailie(i, comb(a, b), comb(d, c));
		pailie(i, comb(a, c), comb(b, d));
		pailie(i, comb(a, c), comb(d, b));
		pailie(i, comb(a, d), comb(b, c));
		pailie(i, comb(a, d), comb(c, b));
		pailie(i, comb(b, a), comb(c, d));
		pailie(i, comb(b, a), comb(d, c));
		pailie(i, comb(b, c), comb(d, a));
		pailie(i, comb(b, d), comb(c, a));
		pailie(i, comb(c, a), comb(d, b));
		pailie(i, comb(c, b), comb(d, a));
	}
	system("pause");
	return 0;
	
}

 

void pailie(int z, int x, int c)函数中的printf写的有问题,具体如下:

void pailie(int z, int x, int c)
{
	int num = 0;
	num++;
	if (x*c == z)
	{
		//printf(z + "=" + x + '*' +c);
		printf("%d = %d * %d\n",z,x,c);
	}
}

运行是这个结果