Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Alano

[Resolvido] Erro Com Valores char

Recommended Posts

Pessoal, como o tópico anterior, quero dizer que estou aprendendo ainda C para mais tarde, me aventurar no C++ e no C#.

ERRO:

Microsoft Windows XP [versão 5.1.2600]

© Copyright 1985-2001 Microsoft Corp.

 

C:\Documents and Settings\****\Desktop>gcc meuprog.c

meuprog.c: In function `funcPrint':

meuprog.c:8: warning: passing arg 1 of `printf' makes pointer from integer witho

ut a cast

meuprog.c:13:12: warning: character constant too long for its type

meuprog.c: In function `main':

meuprog.c:13: warning: overflow in implicit constant conversion

meuprog.c:14:18: warning: no newline at end of file

 

C:\Documents and Settings\****\Desktop>a.exe

 

 

CODE:

#include <stdlib.h> // Módulo I/O

// Função Para Exibir Mensagem na Tela
/*
* funcPrint("Texto Qualquer");
*/
int funcPrint(char valor) {
	printf (valor);
} // Fecha o funcPrint

// Inicializa Programa (main)
int main() {
	funcPrint('Hello World'); // Chama a Classe
} // Fecha o main

Isso sempre acontece quando tento ultilizar valores no tipo char.

Muito obrigado por ter lido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não está usando char. você está usando string. Na verdade nem isso está acontecendo, já que você usa notação de char (1 byte) p/ enfiar uma string (que é um conjunto que char e tem outra notação).

 

Não é assim que se usa o printf. http://www.cplusplus.../cstdio/printf/

 

As funções tem tipo de retorno e não retornam nada.

 

Leia isso: http://publications....t.co.uk/c_book/

Também serve: http://www.cs.cf.ac.uk/Dave/C/CE.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

_Isis_ , por acaso assim é o correto a se fazer?

 

Obs: O Código Abaixo Funciona.

#include <stdio.h>

int main() {
	char xString[80];
	char yString[80];
	
	printf("Digite a primeira string(x):\n");
	scanf("%s", &xString);
	printf("Digite a segunda string(y):\n");
	scanf("%s", &yString);
	
	printf("\n\nPreparando Dados...\n\n");
	
	printf("Primeira String: %s\n", xString);
	printf("Segunda String: %s\n", yString);
	
	printf("Primeira Letra de x: %c\n", xString[0]);
	printf("Primeira Letra de y: %c\n", yString[0]);
	printf("Segunda Letra de x: %c\n", xString[1]);
	printf("Segunda Letra de y: %c\n", yString[1]);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só faze isso (como você msm mostro no segundo code):

 

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

int funcprint(char testo[])
{
   printf("o testo eh:  %s ",testo);
}

main()
{
      funcprint("oieiiiiiii");
      system("pause");
}

 

flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só esqueceu das funções que declaram que retornam um inteiro e não retonam nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.