Ir ao conteúdo
  • Cadastre-se
Juliano Balcante Pereira

Não estou conseguindo armazenar caracteres em uma matriz[4][3] de caracteres. Poderiam me ajudar?

Recommended Posts

@Juliano Balcante Pereira

Poste aí o código todo.

Use a tag CODE (<>) pra organizar o código no corpo do post.

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>#define MAXN 300300int main(){	int n,c;	char p[MAXN];		scanf("%d",&n);	gets(p);		for(c=0;c<n*3;c++){		printf("%c ",p[c]);	}	return 0;} 
 

@Juliano Balcante Pereira

Poste aí o código todo.

Use a tag CODE (<>) pra organizar o código no corpo do post.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse programa está meio doido. O que pretende fazer aí?

O scanf não está sendo lido. Esse laço for escreve somente parte da palavra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

prove trocar seu scanf por este scanf("%d%*c",&n). porém concordo com @Math.Pi... Isso ta meio doido mesmo kkkk

 

primeiro que você declara 300 mil e la vai pedrada chars?kkk logo você lê um numero e uma string sei la de que tamanho, e por ultimo você imprime 3 vezes o numero que você leu? WTF!

 

Cuidado com coisas assim kkk

 

Seu scanf ta lendo a tecla enter junto com o numero, e por isso ele "salta" o string "p". com por %*c como falei no scanf o gets funciona bem por que ja não tem lixo no buffer. MAIS ISSO É MUITO DOIDOWWWW FUI!

Compartilhar este post


Link para o post
Compartilhar em outros sites

gets() serve para ler string. Em C uma string é uma cadeia de caracteres terminada por '\0'.OU SEJA, 'a' é char e "a\0" não é char.

getchar() le um único caractere, e retorna o caractere lido.

ou seja

char c;

c=getchar();

vai ler um caracter e atribui-lo à variável c.

scanf("%c",&c); também pode ser usado para ler um caractere e atribui-lo a variável c.

note, porém, que '\n' (new line ou ENTER)  é um caractere, e portanto será lido, então faça o tratamento correto da leitura.

char c;int LINHAS,COLUNAS,i,j;printf("digite o numero de linhas e de colunas: ");scanf("%d %d",LINHAS,COLUNAS);//Cria a matrizchar MATRIZ[LINHAS][COLUNAS];for(i=0;i<LINHAS;i++)//note que começa do 0 e não do 1.{    for(j=0;j<COLUNAS;j++)    {        while((c=getchar())=='\n');//vai procurar por um caractere diferente de \n ate achar        MATRIZ[i][j]=c;    }}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×