Affichage chaine de caractere avec pointeur

Fermé
Jules211 - 1 juin 2017 à 15:03
 Jules211 - 2 juin 2017 à 09:52
Bonjour j'ai fais un programme qui passe ou du moins est sensé passer une chaine de caractère en majuscule, j'ai fais une fonction maj donc j'utilise les pointeur ^^
J'ai passer le tableau("chaine de caractère") dans ce pointeur et j'aimerais pouvoir l'afficher cette chaine ^^ n'étant pas chez moi et ayant pas mes cours et en cherchant sur internet je n'ai pas trouvé mon erreur... La syntaxe est elle la bonne ?

Voila merci d'avance et je m'excuse si ma question est vraiment simple ^^

printf("%s",*ptrT); // Doit afficher la chaine de caractere qui est pointer par ptrT
A voir également:

5 réponses

momoadmo Messages postés 6 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 2 juin 2017
1 juin 2017 à 15:17
Bonjour, peux tu nous montrer comment t'as fait les déclaration au début de ton programme,,Merci
YCN- Messages postés 116 Date d'inscription mercredi 24 juin 2015 Statut Membre Dernière intervention 13 juillet 2017 12
Modifié le 1 juin 2017 à 15:29
Ce que tu fais est presque correct si tu utilises string.h, en fait tu vas devoir utiliser ptrT plutôt.

Par exemple :


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

int main (void){
char * string;
int i;

string = malloc ( 16 * sizeof (char));

for (i=0;i<16;i++){
string[i] = 'a';
}

printf("%s \n",string);
}



Voilà voilà.
Merci pour vos réponse voici mon programme..
J'avou ne jamais avoir utiliser la fonction string ^^



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




void maj(char *ptrT, int C)
{
/*affiche l'adresse du pointeur */
printf("%i \n",ptrT);
int i=0;

for(i=0;i<C;i++)
{
if(*ptrT>=97 && *ptrT<=122)
{ *ptrT=(*ptrT-32);
ptrT=&ptrT+i;
i++;
puts("o2");
};
};

printf(" voila i %d \n",i);
ptrT=(&ptrT-C);
/* puts("o3"); */

printf("%s",*ptrT); // la fameuse ligne
system("pause");
}

void main(void)
{
int tchaine=10;

char tab[tchaine];





puts("Rentrez la taille de la chaine de caractere");
scanf("%d",&tchaine);

printf("----Passage de chaine en majuscule--- \n");

puts("rentrez une chaine de caractere elle sera passe en majuscule ");
scanf("%s",&tab);


puts("Voici l'adresse du tableau ");

printf("%i \n",&tab[0]);






maj(&tab,tchaine);

system("pause");
}
YCN- Messages postés 116 Date d'inscription mercredi 24 juin 2015 Statut Membre Dernière intervention 13 juillet 2017 12
Modifié le 1 juin 2017 à 17:04
met des balises code pour ton code, en cliquant sur la balises code après les icones pour mettre en gras italique et souligné.
ET RETIRE LE '*' à printf("%s",*ptrT);
--------> printf("%s",ptrT);
0
Je suis désoler si le programme est mal mis ^^'

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
La cela devrait être bon ^^






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




void MAJ(char *ptrT,int C)
{
/*affiche l'adresse du pointeur */
printf("%i \n",ptrT);
int i=0;
for(i=0;i<C;i++)
{
if(*ptrT>=97 && *ptrT<=122)
{ *ptrT=(*ptrT-32);
ptrT=&ptrT+i;
i++;
puts("o2");
};
};

printf(" voila i %d \n",i);
ptrT=(&ptrT-C);
/* puts("o3"); */

printf("%s",ptrT);
system("pause");
}

void main(void)
{
int tchaine=10;
float largeur,longueur,resultP;
char tab[tchaine];





puts("Rentrez la taille de la chaine de caractere");
scanf("%d",&tchaine);

printf("----Passage de chaine en majuscule--- \n");

puts("rentrez une chaine de caractere elle sera passe en majuscule ");
scanf("%s",&tab);


puts("Voici l'adresse du tableau ");

printf("%i \n",&tab[0]);






MAJ(&tab,tchaine);

system("pause");
}