Enviado em 18/07/2019 - 12:51h
Como converto um char em int?
Tentei assim:
Tentei assim:
x = y - '0';Mas nunca da valor certo!
Enviado em 18/07/2019 - 12:51h
x = y - '0';Mas nunca da valor certo!
Enviado em 18/07/2019 - 13:29h
Enviado em 18/07/2019 - 14:10h
Vamos supor que variáveis a e b valem 10 cada
char a, b;
int x;
x = (int) a + b;
Enviado em 18/07/2019 - 18:59h
Enviado em 18/07/2019 - 19:18h
Enviado em 18/07/2019 - 23:20h
Enviado em 19/07/2019 - 15:50h
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
FILE *r, *w;
char buffer[999999];
int it;
float ft;
if(strcmp(argv[1],"--help")==0){
printf("xcal é uma calculadora por parâmetros\n");
printf("um exemplo de cálculo seria:\n");
printf("./xcal * 2 5\n");
printf("nesse exemplo você estaria calculado 2 x 5\n");
printf("outros parâmetros seriam:\n");
printf("+ faz soma, exemplo: ./xcal + 1 1\n");
printf("- diminui um valor, exemplo de uso: ./xcal - 2 1\n");
printf("x faz conta de vezes, exemplo de uso: ./xcal x 2 5\n");
printf("/ divide, exemplo de uso: ./xcal / 5 2\n");
}
else if(strcmp(argv[1], "+")==0){
it = (int) argv[2] + argv[3];
printf("Result: %d\n", it);
}
else{
printf("Digite ./xcal --help para obter ajuda\n");
}
return 0;
}
Enviado em 20/07/2019 - 15:35h
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
FILE *r, *w;
char buffer[999999];
int it;
float ft;
if(strcmp(argv[1],"--help")==0){
printf("xcal é uma calculadora por parâmetros\n");
printf("um exemplo de cálculo seria:\n");
printf("./xcal * 2 5\n");
printf("nesse exemplo você estaria calculado 2 x 5\n");
printf("outros parâmetros seriam:\n");
printf("+ faz soma, exemplo: ./xcal + 1 1\n");
printf("- diminui um valor, exemplo de uso: ./xcal - 2 1\n");
printf("x faz conta de vezes, exemplo de uso: ./xcal x 2 5\n");
printf("/ divide, exemplo de uso: ./xcal / 5 2\n");
}
else if(strcmp(argv[1], "+")==0){
it = (int) argv[2] + argv[3];
printf("Result: %d\n", it);
}
else{
printf("Digite ./xcal --help para obter ajuda\n");
}
return 0;
}
gcc x.cSe eu ativar as opções de código que eu sempre recomendo (“-O2 -Wall -Werror -pedantic-errors”), aí a coisa fica ainda mais séria.
x.c: In function ‘main’:
x.c:21:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
it = (int) argv[2] + argv[3];
^
x.c:21:10: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
it = (int) argv[2] + argv[3];
^
gcc -O2 -Werror -Wall -pedantic-errors x.cAlgumas das mensagens se referem a variáveis que você declarou mas não usou (ft, buffer, r e w). Mesmo que o compilador seja esperto o bastante para evitar o eventual desperdício de espaço, é bom, para facilitar a manutenção do código do programa, nunca declarar coisas que não serão usadas.
x.c: In function ‘main’:
x.c:21:12: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
it = (int) argv[2] + argv[3];
^
x.c:21:10: error: assignment makes integer from pointer without a cast [-Wint-conversion]
it = (int) argv[2] + argv[3];
^
x.c:8:11: error: unused variable ‘ft’ [-Werror=unused-variable]
float ft;
^~
x.c:6:10: error: unused variable ‘buffer’ [-Werror=unused-variable]
char buffer[999999];
^~~~~~
x.c:5:15: error: unused variable ‘w’ [-Werror=unused-variable]
FILE *r, *w;
^
x.c:5:11: error: unused variable ‘r’ [-Werror=unused-variable]
FILE *r, *w;
^
cc1: all warnings being treated as errors
Enviado em 22/07/2019 - 16:28h
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
FILE *r, *w;
char buffer[999999];
int it;
float ft;
if(strcmp(argv[1],"--help")==0){
printf("xcal é uma calculadora por parâmetros\n");
printf("um exemplo de cálculo seria:\n");
printf("./xcal * 2 5\n");
printf("nesse exemplo você estaria calculado 2 x 5\n");
printf("outros parâmetros seriam:\n");
printf("+ faz soma, exemplo: ./xcal + 1 1\n");
printf("- diminui um valor, exemplo de uso: ./xcal - 2 1\n");
printf("x faz conta de vezes, exemplo de uso: ./xcal x 2 5\n");
printf("/ divide, exemplo de uso: ./xcal / 5 2\n");
}
else if(strcmp(argv[1], "+")==0){
it = (int) argv[2] + argv[3];
printf("Result: %d\n", it);
}
else{
printf("Digite ./xcal --help para obter ajuda\n");
}
return 0;
}
gcc x.cSe eu ativar as opções de código que eu sempre recomendo (“-O2 -Wall -Werror -pedantic-errors”), aí a coisa fica ainda mais séria.
x.c: In function ‘main’:
x.c:21:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
it = (int) argv[2] + argv[3];
^
x.c:21:10: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
it = (int) argv[2] + argv[3];
^
gcc -O2 -Werror -Wall -pedantic-errors x.cAlgumas das mensagens se referem a variáveis que você declarou mas não usou (ft, buffer, r e w). Mesmo que o compilador seja esperto o bastante para evitar o eventual desperdício de espaço, é bom, para facilitar a manutenção do código do programa, nunca declarar coisas que não serão usadas.
x.c: In function ‘main’:
x.c:21:12: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
it = (int) argv[2] + argv[3];
^
x.c:21:10: error: assignment makes integer from pointer without a cast [-Wint-conversion]
it = (int) argv[2] + argv[3];
^
x.c:8:11: error: unused variable ‘ft’ [-Werror=unused-variable]
float ft;
^~
x.c:6:10: error: unused variable ‘buffer’ [-Werror=unused-variable]
char buffer[999999];
^~~~~~
x.c:5:15: error: unused variable ‘w’ [-Werror=unused-variable]
FILE *r, *w;
^
x.c:5:11: error: unused variable ‘r’ [-Werror=unused-variable]
FILE *r, *w;
^
cc1: all warnings being treated as errors
Entre na sua conta para responder.