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

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

  1. Nikit

    Nikit New Member

    Репутация:
    0
    Регистрация:
    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
    Это хорошо, что 0 выводит, а не рушится совсем :)

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

    char c[256];

    scanf("%s",&c);

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

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

    Nikit New Member

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

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

    qqwertty Гость

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

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

    Nikit New Member

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

    qqwertty Гость

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

    Nikit New Member

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

    qqwertty Гость

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


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

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

    Nikit New Member

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

    qqwertty Гость

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

    Nikit New Member

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

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