Ir ao conteúdo
  • Cadastre-se

Trying

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

Reputação

1
  1. Valeu amigo, consegui entender @vangodp abraço!
  2. Não consigo entender quando é colocado um vetor de strings como condição de um laço. Exemplo: int i;char string[]= {"String qualquer"}; for(i=0; string[i]; i++) //Essa condição no laço for faz com que ele entre em loop até imprimir a ultima letra da string. Mas por que?{ printf("%c", string[i]);} Outro exemplo, o que acontece na função axuliar findCharactere no while? #include <stdio.h>#include <stdlib.h>#include <conio.h> /* Funções que retornam ponteiros */ // --- Protótipo da Função Auxiliar ---char *findCharactere(char caractere, char *str); int main(int argc, char *argv[]){ char frase[80]; char chr, *pointer; printf("\nDigite uma frase: "); gets(frase); printf("Digite um caractere: "); chr = getche(); pointer = findCharactere(chr, frase); if(pointer) printf("\n\n%s\n\n", pointer); //Se encontrar correspondência, imprimi a frase a partir dela else printf("\n\nNenhuma paridade\n\n"); system("PAUSE"); return 0;} // end main // --- Desenvolvimento da Função Auxiliar char *findCharactere(char caractere, char *str){ int counter = 0; while((caractere != str[counter]) && (str[counter] != '\0')) counter++; //O que esta sendo comparado? if(str[counter]) return (&str[counter]); //Se houver correspondência , retorna o ponteiro para a localização else return (char *) '\0'; //Senão, retorna um ponteiro nulo } //end function gostaria que se possível alguém me desse um norte, o que o string representa para o laço? Sei que string[0] é o primeiro caracter da string, mas não entendo a lógica de comparação do laço. Muito Obrigado!
  3. Bom dia @dyR3X, Muito obrigado pela ajuda, consegui entender o problema. Adicionei o getchar() depois do scanf e consegui resolver, valeu!! Abraço
  4. Olá pessoal, Estava tentando fazer um programa que faça uma soma simples dos números de 2 laços for aninhados, até essa parte foi tudo bem, mas também gostaria que na transição, antes do primeiro contador incrementar pela segunda vez e executar o contador seguinte, me fosse solicitado se eu gostaria de continuar em frente ou terminar o programa. O problema é que quando chego nessa parte abaixo, o programa não para e espera eu digitar o caracter S ou o N, e prossegue como se estivesse pulando esse trecho do código. Não era para o programa esperar eu digitar no scanf? printf("Quer continuar? \n"); // transição de laço scanf("%c", &continua); switch(continua) { case 'S': goto inicio; case 'N': goto fim; } código completo: #include <stdio.h>#include <stdlib.h> int main(){ int i=0,j=0,resposta,erro=0,acerto=0; char continua; inicio: for(i; i<10; i++) { for(j; j<10; j++) { printf("Qual a resposta %d + %d ",i,j); scanf("%d", &resposta); if(resposta!=(i+j)) { erro++; } else { acerto++; } printf("Acertos: %d \n", acerto); printf("Erros: %d \n", erro); } j=0; printf("Quer continuar? \n"); // transição de laço scanf("%c", &continua); switch(continua) { case 'S': goto inicio; case 'N': goto fim; } } fim: system("PAUSE"); return 0; Muito obrigado!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...