Bonjour,
j' essais de me familariser avec des fonctions qui sont citées dans le titre.
On m' a dit que atoi() converti les characteres en entiers, mais quand j' ecris:
il ne renvoit que des zeros. Je comprend pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int c; char msg; while (EOF !=(msg=getchar())){ msg=getchar(); c=atoi(&msg); // putchar(c); printf ("%d ",c ) ; }
Comme le professeur m' a dit la valeure de getchar() est une caractere qu' on introduit à partir de la clavier.Mais si c' est vrai, voilà un programme qui fait le chiffrement de Cesare:
Mais ici la variable C1 est de type int. Et bien comment la variable de type integer recoit la valeure de char?.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <stdio.h> #include <stdlib.h> int main(int argc, char * argv[]) { int C1, key; if(argc < 2) {printf("Caesar <argument>\n"); exit(-1);} key=atoi(argv[1]); while (EOF != (C1 = getchar())) { if(C1 >= 'A' && C1 <= 'Z') putchar('A'+(26+C1-'A'+key)%26); else if(C1 >= 'a' && C1 <= 'z') putchar('a'+(26+C1-'a'+key)%26); else putchar(C1); } return 0; }
Partager