pr0zin Posted October 3, 2012 at 07:39 PM Report #477621 Posted October 3, 2012 at 07:39 PM (edited) Ora boas noites. a minha duvida consiste no facto de nao saber se declarar assim variaveis é errado, uma vez qe qero qe o vetor tenha o limite da variavel n, lida num scanf int i, n; printf("Le o valor de n\n"); scanf(" %d", &n); int v[n]; THanks Edited October 3, 2012 at 07:41 PM by pmg LP adicionada ao GeSHi
pmg Posted October 3, 2012 at 07:47 PM Report #477623 Posted October 3, 2012 at 07:47 PM (edited) Desde 1999 (ou melhor, desde que os compiladores implementaram as regras da linguagem publicadas em 1999) é valido. Nota que alguns compiladores (nomeadamente o Microsoft Visual Studio) nao adoptaram (ainda) o C99 e continuam a compilar C89. Em C89, a tua declaracao é invalida. Se estas limitado a um compilador C89, a solucao é usar memoria dinamica int i, n; int *v; printf("Le o valor de n\n"); scanf("%d", &n); /* verifica que n é razoavel: positivo, menor que 2 milhoes */ v = malloc(n * sizeof *v); if (v == NULL) { /* error */ } else { /* usa v */ free(v); } Edit Nota ainda que a versao C99 de VLA (Variable Length Arrays) sofre de um mal terrivel: nao é possivel recuperar de um erro por falha de memoria. Edited October 3, 2012 at 07:49 PM by pmg What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
pr0zin Posted October 3, 2012 at 07:48 PM Author Report #477624 Posted October 3, 2012 at 07:48 PM o meu compilador compila em C99, o problema é qe eu nao sei se a prof consideraria num teste/exame a minha declaraçao correcta ou incorrecta...
pmg Posted October 3, 2012 at 07:58 PM Report #477626 Posted October 3, 2012 at 07:58 PM (edited) Se ela nao especificou que queria C89, leva o PDF do Standard (C99 ou C2011) a tua professora e mostra-lhe a seccao 6.7.5.2 (C99) ou 6.7.6.2 (C2011) 🙂 Edited October 3, 2012 at 07:59 PM by pmg What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now