xiquito Posted March 9, 2017 at 09:23 PM Report Share #603018 Posted March 9, 2017 at 09:23 PM boas. estou com uma duvida no seguinte exercicio: 4.1-Crie um programa em C que leia uma string e que imprima quantos caracteres ‘a’ ou ‘A’ tem. 4.2- Substitua todos os caracteres ‘a’ por ‘o’. #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> int tam,i,cont,o; char p[99]; int leitura_dados() { printf("\nintroduza uma palavra\n"); gets(p); tam=strlen(p); for(i=0;i<tam;i++) { if(p[i]=='a' || p[i]=='A') { cont=cont+1; p[i]=o; p[i]=o; } } printf("\nexistem %d letras a\n",cont); printf("\npalavra nova: %s",p); } main() { leitura_dados(); } a primeira parte resolvi sem problemas, porem não sei porque é que não substitui os caracteres que pretendo... Link to comment Share on other sites More sharing options...
Guest Posted March 9, 2017 at 09:48 PM Report Share #603020 Posted March 9, 2017 at 09:48 PM (edited) p=o; devia ser p = 'o'; Queres guardar um carácter e não o conteúdo do variável o . cont = cont + 1; pode ser simplesmente cont++; A função main tem que retornar um valor. int main(void){ ... return x; } A função gets não te protege contra overflows. Pesquisa pela função fgets. As bibliotecas conio,math e string não estão ai a fazer nada. Podes as remover A variável o não está a fazer nada. Podes a remover Edited March 9, 2017 at 09:51 PM by Guest Link to comment Share on other sites More sharing options...
xiquito Posted March 9, 2017 at 09:51 PM Author Report Share #603021 Posted March 9, 2017 at 09:51 PM obrigado Mkman!! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now