Jump to content
Fórum Script Brasil
  • 0

Chaves/Chaveses em for


TkD

Question

Opa venho desta vez não é um erro, e sim uma dúvida.

Script a seguir:

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

int main()
{
    //Variaveis
    char nome[100];
    int total, a;
    
    //Entrada
    printf("Digite seu nome: ");
    gets(nome);
    total=strlen(nome);
    system("cls");
    
    //Saida
    for (a=1;a<=total;a++)
    { //Ao retirar esta chaveses e a de baixo, o script da certo.
        printf("%s ", nome);
        printf("\n\n");
        system("pause");       
    }
}

logo após o for eu usei chaves, então o script não funciona como o esperado, mais se não usado ele funcionada normal.

Alguém pode me dizer o porque disso? E situações em que posso usar com/sem.

Sei mais ou menos, que é colocado chaves, quando tem mais de um comando abaixo da função. Então os 2 printf, não seria os dois comandos?

Obrigado.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Opa, tem alguns erros ai:

1) Pela sua lógica você está lendo um nome(string) e contando quantos caracteres essa string tem, correto? Só não entendi o porque voce usou aquele "for".

Na minha opiniao acho que não é necessário, pois como você não tem um vetor e nenhuma estrutura(struct), para mostrar mais de um nome.

Se quiseres motrar apenas o nome digitado faça assim:

printf("%s\n\n", nome);
system("pause");
Se for o caso de mostrar o tamanho total da string, poderia ser assim:
printf("%d\n\n",total);
system("pause");
2) Sobre o {} (chaves), é recomendado colocar quando se tem mais de um comando dentro do "for" ou "if", mas ali no seu caso você não precisa de "for" e pode colocar o "\n" dentro de um printf apenas. 3) Eu faria assim:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    //Variaveis
    char nome[100];
    int total=0, a=0;
    
    //Entrada
    printf("Digite seu nome: ");
    gets(nome);
    total=strlen(nome);
    system("cls");
    
    //Saida
    printf("Nome digitado foi: %s\n\n", nome);
    printf("Total de caracteres :%d\n\n",total);
    
    system("pause");      
    return 0;

}//main

Edited by Prog_Junior
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...