Dentro "C," cadeias de caracteres são armazenados como um conjunto de códigos de caracteres e manipulado como personagens. Se suas cadeias de caracteres representam números inteiros, convertê-los em números inteiros antes de executar quaisquer operações matemáticas, como adição e subtração. Por exemplo, você não pode adicionar as cadeias de caracteres "123" e "5" e esperam "128". A cadeia de caracteres "123" é um array de caracteres de quatro posições, contendo os códigos de caracteres ASCII para `1`, `2` `, 3` e "NULO." Felizmente, existe uma função de biblioteca padrão, "atoi," que converte cadeias de caracteres para números inteiros em C.
Incluir os arquivos de cabeçalho para a entrada padrão e uma biblioteca de saída e da biblioteca padrão, bem como o arquivo de limites de cabeçalho. Lembre-se que incluem directivas começar na primeira coluna "C."
incluirincluirincluirComece o seu programa principal e declarar uma variável para a sua cadeia de caracteres e um para o seu inteiro resultante. Se a sua máquina é uma implementação de 32 bits, o intervalo para números inteiros é de --2, 147, 483, 648-2, 147, 483 e 647. Assim, um conjunto de 11 posições é grande o suficiente para lidar com a cadeia de caracteres deseja converter.
int main ()
{
carbonizar my_string [11];
int número;
Peça ao usuário para uma cadeia de caracteres para converter. Dê o intervalo válido para inteiros em seu sistema de modo que o valor inserido não é muito grande ou muito pequeno para o seu sistema de manusear. As constantes INT_MIN e INT_MAX do arquivo de limites de cabeçalho especificar o intervalo válido para inteiros em seu sistema.
printf ("Por favor insira uma seqüência numérica entre% de% d. N", INT_MIN, INT_MAX);
gets (my_string);
Converter a cadeia com a função atoi e armazenar o resultado na variável int. A função atoi retorna o valor convertido, um zero se não houver conversão, ou o INT_MIN constante ou INT_MAX se a cadeia de caracteres estava fora do intervalo.
number = atoi (my_string);
Imprimir a string original e o número inteiro resultante. Use o código a% s para a cadeia e uma% d para o número inteiro. Para verificar a cadeia foi convertida, executar uma operação matemática simples sobre o valor resultante e imprimir a resposta. Termine o seu programa principal, retornando um código de sucesso, colocando o seu fechamento}.
printf ("O original seqüência de caracteres% s é o número inteiro% d. Adicionando 6 dá% d n",
my_string, número, número + 6) -
return 0;
}
dicas & avisos
- Se o resultado da atoi é INT_MIN ou INT_MAX, é possível o usuário entrou um valor fora do intervalo inteiro válido. Você pode adicionar um comando if para verificar o valor do seu inteiro retornado e imprimir uma mensagem, se for igual a INT_MIN ou INT_MAX. A função atoi vai parar o processamento de uma string se encontrar um caractere inválido. Por exemplo, se o usuário digita "245,32", Atoi só vai pegar o "245" uma vez que uma `.` não é um carácter válido para um número inteiro.