rflbboy Posted May 13, 2012 Report Share Posted May 13, 2012 Fiz um programa que pede o nome completo, e quero quee o programa faz todas primeiras letras dos nomes passem para maiúscula, mas ele está dando erro. O que tem de errado?#include <stdio.h> #include <ctype.h> #define ESPACO ' ' char *first(char *s) { int i; s[0] = toupper(s[0]); for(i=0;s[i-1]!='';i++) { if(s[i-1]==ESPACO) s[i]=toupper(s[i]); else s[i]=tolower(s[i]);} return s; } main() { char nome[100]; puts("Digite seu nome:"); gets(nome); puts(first(nome)); getch(); } Quote Link to comment Share on other sites More sharing options...
0 lucas.js Posted May 13, 2012 Report Share Posted May 13, 2012 (edited) você deve usar !='\ 0' para indicar o fim da string. (sem o espaço pois barra zero é removido quando envia o tópico)char *first(char *s) { int i=1; s[0] = toupper(s[0]); while(s[i]!='\ 0'){ // sem o espaço if(s[i-1]==ESPACO)s[i]=toupper(s[i]); else s[i]=tolower(s[i]); i++; } return s; } Edited May 13, 2012 by lucas.js Quote Link to comment Share on other sites More sharing options...
Question
rflbboy
Fiz um programa que pede o nome completo, e quero quee o programa faz todas primeiras letras dos nomes passem para maiúscula, mas ele está dando erro. O que tem de errado?
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.