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:
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]);
}
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.