Перевод Из Char В Int

Тема в разделе "Общие вопросы по С и С++", создана пользователем Nikit, 20 фев 2012.

  1. Nikit

    Nikit New Member

    Регистрация:
    20 фев 2012
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте, ребят! Помогите чем можете......прогу написал, вроде, но не работает что-то..

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

    void main()
    {
    int n;
    char *c;
    clrscr();
    printf("Text:",c);
    scanf("%c",&c);
    n=atoi&copy;;
    printf("in integer = %d",n);
    getch();
    }

    выводит 0
     
  2. qqwertty

    qqwertty Гость

    Это хорошо, что 0 выводит, а не рушится совсем :)

    замените соответствующие строки на:

    char c[256];

    scanf("%s",&c);

    И срочно перечитывайте книжку свою!!!

    Особенно про то, что такое (char *c) и чем он от (char c[]) отличается.
     
  3. Nikit

    Nikit New Member

    Регистрация:
    20 фев 2012
    Сообщения:
    2
    Симпатии:
    0
    Спасибо.....но почему он 0 выводит? Я хочу что бы он ascii выдал, как это сделать? Если не сложно, объясните.

    Добавлено: Или это невозможно сделать через атои?
     
  4. qqwertty

    qqwertty Гость

    Мне несложно, но вы врядли поймете, потому что похоже не знакомы с теорией указателей. Вы объявили указатель на char и не определили его, т.е он ни на что не указывает, а затем берете ссылку от него. По идее, в нормальном компиляторе у вас в этом месте программа должна со скрипом вылететь и попросить отправить отчет в майкрософт)))
    Но видимо у вас BC31 какой-нибудь, т.е компилятор от борланда, который присваивает нулевой указатель c. Вот так 0 и получается.

    Что значит невозможно? я же сказал вам какие строчки заменить, и все работать будет.....
     
  5. Nikit

    Nikit New Member

    Регистрация:
    20 фев 2012
    Сообщения:
    2
    Симпатии:
    0
    Я сделал, как вы сказали...исправил, но он всё равно почему-то не выдаёт коды символов.....
     
  6. qqwertty

    qqwertty Гость

    atoi переводит строку в число.... Чтобы получить код символа достаточно char в int преобразовать.
    Тогда вопорос конкретный задавайте, а то в угадайки играем
     
  7. Nikit

    Nikit New Member

    Регистрация:
    20 фев 2012
    Сообщения:
    2
    Симпатии:
    0
    просто тема так названа...я думал не надо пояснять ещё раз, каким образом этого добиться, не подскажите, хотя бы наводку)
     
  8. qqwertty

    qqwertty Гость

    Надо было назвать тему узнать код символа. Из char в int переводить не надо, поскольку char это тот же int только однобайтовый. Обычно под таким вопросом подразумевается перевод из строки в число.


    По теме: char c = 'A';
    printf("%d",c); //выдаст код символа

    можно явно преобразовывать, используя (int)c
     
  9. Nikit

    Nikit New Member

    Регистрация:
    20 фев 2012
    Сообщения:
    2
    Симпатии:
    0
    а возможно ли то же самое сделать, только, чтобы пользователь вводил сам символ, я тут попробовал....вывел -256
     
  10. qqwertty

    qqwertty Гость

    Я думаю вам литературу сначало почитать надо, я могу за вас прогу написать, но это не поможет вам. Я дал вам подсказку, еще нужно ввод символа оформить правильно, как у вас в первый раз было "%c". И все будет работать :)
     
  11. Nikit

    Nikit New Member

    Регистрация:
    20 фев 2012
    Сообщения:
    2
    Симпатии:
    0
    Спасибо!
     
Загрузка...

Поделиться этой страницей