Ir ao conteúdo
  • Cadastre-se

Conceito de for em dois casos parecidos


Mayk.hsm

Posts recomendados

 

Olá, dúvida rápida. Estou tentando entender como inverter uma string, então montei um código básico para depois aplicar o conceito na atribuição de uma string em outra.

Mas estou com problemas.

esse é o código teste.

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


int main(){

	char NOME[5];
	int i;

	printf("Digite uma frase\n");
	scanf("%4[^\n]",&NOME);

	for (i=0;i<4;i++)
	printf("%c\n",NOME[i]);

	for (i=3;i==0;i--)
	printf("%c\n",NOME[i]);	



	return 0;
}

Por que esse trecho funciona? (esse apresenta na ordem normal)

...
for (i=0;i<4;i++)
	printf("%c\n",NOME[i]);

e esse não?(porque o conceito do for não está funcionando aqui? para apenas apresentar ao contrário.)

for (i=3;i==0;i--)
	printf("%c\n",NOME[i]);	

valeu.

Link para o comentário
Compartilhar em outros sites

@Mayk.hsm A primeira lê-se "i é igual a 0, enquanto a variável i for menor do que o número quatro, repita o loop. Ao final do loop adicione mais 1 na variável i"

for (i=0;i<4;i++)


A segunda lê-se: "i é igual a 3, enquanto a variável i for igual ao número 0, repita o loop. Ao final do loop adicione mais 1 na variável i"

for(i=3; i == 0; i--)

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Se você quiser trabalhar com strings em C eu recomendo a blibioteca do curso CS50 da Havard vai facilitar muito sua vida.

Tm funções como: GetString() e GetInt() que facilita muito. GetInt() por exemplo já verifica se a entrada digitada é um int.

 

Por exemplo:

 

#include <stdio.h>
#include <string.h>
#include "cs50.h"

int main(void)
{
  string nome;
  int tam; // tamanho da string
  
  printf("Digite sem nome: ");
  // lê uma string do teclado
  nome = GetString();
  tam = strlen(nome); // inicialza tam com o tamanho da string

  //i = tam - 1 para pecorrer a string corretamente
  for(int i = tam - 1; i >= 0; i--)
    printf("%c", nome[i]);
    
  printf("\n");
}

Você pode baixar e irá facilitar seus estudos daqu pra frente.

library50-c-5.zip

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...