• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы Nikit
  • Дата начала Дата начала
N

Nikit

Здравствуйте, ребят! Помогите чем можете......прогу написал, вроде, но не работает что-то..

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

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

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

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

char c[256];

scanf("%s",&c);

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

Особенно про то, что такое (char *c) и чем он от (char c[]) отличается.
 
Спасибо.....но почему он 0 выводит? Я хочу что бы он ascii выдал, как это сделать? Если не сложно, объясните.

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

Что значит невозможно? я же сказал вам какие строчки заменить, и все работать будет.....
 
Я сделал, как вы сказали...исправил, но он всё равно почему-то не выдаёт коды символов.....
 
Я сделал, как вы сказали...исправил, но он всё равно почему-то не выдаёт коды символов.....

atoi переводит строку в число.... Чтобы получить код символа достаточно char в int преобразовать.
Тогда вопорос конкретный задавайте, а то в угадайки играем
 
просто тема так названа...я думал не надо пояснять ещё раз, каким образом этого добиться, не подскажите, хотя бы наводку)
 
Надо было назвать тему узнать код символа. Из char в int переводить не надо, поскольку char это тот же int только однобайтовый. Обычно под таким вопросом подразумевается перевод из строки в число.


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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab