Ir para conteúdo
Fórum Script Brasil
  • 0

Código não roda! Sou novo nesses assuntos


Matheus Santos Brito

Pergunta

 

Estou aprendendo C, e meu código não roda ele da isso na tela (Process returned -1073741571 (0xC00000FD)   execution time : 0.337 s
Press any key to continue.) Mas se eu adicionar qualquer valor as variaveis Tamanho 1 e 2 ele roda. Em C não posso declarar matriz com os indices 0 pra depois colocar o valor??

 

 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

void main () {

    setlocale(LC_ALL, "");

    int tamanho1, tamanho2, l, c;
    int matriz3[tamanho1][tamanho2];

    //Pegando o tamanho da matriz!
    printf("\nQual o tamanho da matriz?\n");
    scanf("%d", &tamanho1);
    scanf("%d", &tamanho2);

    //Pegando os valores para a matriz!
     for(l = 0; l < tamanho1; l++){
        for(c = 0; c < tamanho2; c++){
            printf("\nDigite um valor para o índice [%d][%d]: ", l, c);
            scanf("%d", &matriz3[l][c]);
        }
    }

    system("pause");
    return 0;
}
 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Declara ela depois que capturar as dimensões,

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main(void) {

  setlocale(LC_ALL, "");

  int tamanho1, tamanho2, l, c;
  //int matriz3[tamanho1][tamanho2];

  //Pegando o tamanho da matriz!
  printf("\nQual o tamanho da matriz?\n");
  scanf("%d", &tamanho1);
  scanf("%d", &tamanho2);

  int matriz3[tamanho1][tamanho2];

  //Pegando os valores para a matriz!
  for(l = 0; l < tamanho1; l++){
    for(c = 0; c < tamanho2; c++){
      printf("\nDigite um valor para o índice [%d][%d]: ", l, c);
      scanf("%d", &matriz3[l][c]);
    }
  }

  system("pause");
  return 0;
}

 

Outra maneira relaciona a função malloc, de stdlib.h, e ponteiros [assunto importantíssimo] para alocação dinâmica, também em tempo de execução.

  //Pegando o tamanho da matriz!
  printf("\nQual o tamanho da matriz?\n");
  scanf("%d", &tamanho1);
  scanf("%d", &tamanho2);

  int (*matriz3)[tamanho2]= malloc(tamanho1 * sizeof(matriz3[0]));
	

Ponteiros é um assunto fácil de compreender com concentração e cuidado.

Editado por britivaldo
Link para o comentário
Compartilhar em outros sites

  • 0
12 horas atrás, britivaldo disse:

Declara ela depois que capturar as dimensões,

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main(void) {

  setlocale(LC_ALL, "");

  int tamanho1, tamanho2, l, c;
  //int matriz3[tamanho1][tamanho2];

  //Pegando o tamanho da matriz!
  printf("\nQual o tamanho da matriz?\n");
  scanf("%d", &tamanho1);
  scanf("%d", &tamanho2);

  int matriz3[tamanho1][tamanho2];

  //Pegando os valores para a matriz!
  for(l = 0; l < tamanho1; l++){
    for(c = 0; c < tamanho2; c++){
      printf("\nDigite um valor para o índice [%d][%d]: ", l, c);
      scanf("%d", &matriz3[l][c]);
    }
  }

  system("pause");
  return 0;
}

 

Outra maneira relaciona a função malloc, de stdlib.h, e ponteiros [assunto importantíssimo] para alocação dinâmica, também em tempo de execução.

  //Pegando o tamanho da matriz!
  printf("\nQual o tamanho da matriz?\n");
  scanf("%d", &tamanho1);
  scanf("%d", &tamanho2);

  int (*matriz3)[tamanho2]= malloc(tamanho1 * sizeof(matriz3[0]));
	

Ponteiros é um assunto fácil de compreender com concentração e cuidado.

Muito obrigado, ajudou muitoo!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...