Array de char em C

Olá pessoal estava realizando um exercicio com c e ocorreu o seguinte problema:

int main ()
{
	//Tamanho da matriz.	
	int i = 4;
	int j = 4;
	int size = i*j;

	//loop
	int k = 0;

	char matrix[size];
	
	//Preenchendo matrix com : para ajudar na lógica.
	for(k=0; k==size; k++)
	{
		matrix[k] =":";
	}
	
	for(k=0; k<size; k++)
	{
		printf("%c", matrix[k]);	
	}
	
	return(0);
}

è muito simples ele pegaria o tamanho da multiplização da linha*coluna após isso faria um loop preenchendo e outro loop mostrando, sei que poderia fazer as duas coisas ao mesmo tempo, mas eu queria fazer assim por que o objetivo do exericio é um pouco complicado, mas por fim gostaria de saber por que ele está imprimindo isso:

M�}0�

[code]int main (int argc, char* argv[])
{
//Tamanho da matriz.
int i = 4;
int j = 4;
int size = i*j;

//loop
int k = 0;

char matrix[size];

//Preenchendo matrix com : para ajudar na lógica.
for(k=0; k &lt; size; ++k)
{
	matrix[k] =':';
}

for(k=0; k&lt;size; ++k)
{
	printf("%c", matrix[k]);	
}

return 0;

}
[/code]>

Siim já tentei dos dois jeitos, já faz algum tempo que estou tentando fazer isso mesmo sendo mt simples em java e a sintaxe de c não ser tão complicada não estou conseguindo, se coloco > ai ele não imprime nada. Sou novato em C confesso que estou tendo algumas dificuldades como simplesmente saber por que tive que declarar a variavel K para poder executar o loop, e fiz aqui um segundo loop for com uma variavel i e não precisei declara-lá.


	//loop
	int k = 0;

	char matrix[size];
	
	//Preenchendo matrix com : para ajudar na lógica.
	for(k=0; k>size; k++)
	{
		matrix[k] =":";
	}
	
	for(i=0; i>size; i++)
	{
		printf("%d", matrix[i]);	
	}

Você tentou usar o código que postei?

Notou que estou usando aspas simples, e não duplas?

As duplas geram o tipo char* e não char. Seu array é de char e não strings (char*).

Esse código que você postou no post anterior está completamente errado. O teste é mesmo < size, não == size e nem > size.

Hmm, nem passo pela minha cabeça o fato de aspas simples e duplas fazerem tanta diferença, agora posso colocar “%c” antes se eu estivesse utilizando aspas duplas ele dava um erro, muito obrigado.