powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / функция atoi не работает помогите начинающему
6 сообщений из 6, страница 1 из 1
функция atoi не работает помогите начинающему
    #33460757
Olga1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
простейшая программа
надо ввести символ (это условие), потом привести его к типу int
mein() {
char *ch;
scanf ("%c", ch);
int anz = atoi ("ch");
print("%d\n",anz);
}
ввожу числа а на печать всегда выводится 0.
Что я неправильно делаю?
...
Рейтинг: 0 / 0
функция atoi не работает помогите начинающему
    #33460769
Forgottn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кавычки убери... и под ch лучше все-таки выделять память... наилучший - самый короткий вариант программы

Код: plaintext
1.
2.
3.
4.
5.
void main() {
char ch;
scanf ("%c", &ch);
int anz = atoi (ch);
print("%d\n",anz);
}
...
Рейтинг: 0 / 0
функция atoi не работает помогите начинающему
    #33461128
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void main() {
char ch[100];
scanf ("%s", ch);
int anz = atoi (ch);
print("%d\n",anz);
}
...
Рейтинг: 0 / 0
функция atoi не работает помогите начинающему
    #33464953
mershkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем тебе atoi

// for symbol
char ch = 'z';
int var1 = (int)ch;

// if using string
String str = "z";
int var2 = (int)str[1];
...
Рейтинг: 0 / 0
функция atoi не работает помогите начинающему
    #33464957
mershkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извини у тебя вроде как указатель :-)

// for symbol
char ch = 'z';
int var1 = (int)ch;

// if using string
String str = "z";
int var2 = (int)str[1];

// for pointer
char *u_ch = &ch;
int var3 = (int)*u_ch;
...
Рейтинг: 0 / 0
функция atoi не работает помогите начинающему
    #33466483
suzum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olga1простейшая программа
надо ввести символ (это условие), потом привести его к типу int
Forgottnсамый короткий вариант программы

имхо, самый короткий вариант:
Код: plaintext
1.
2.
3.
int main() 
{
  printf("%d", getch());
}

Если же действительно нужно через указатель, то можно и поприкалываццо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
int main() 
{
  char *ch;
  int i;
  
  ch = (char *) malloc(sizeof(char));
  if(ch == NULL) exit( 0 ); // заложимся на то, что памяти на один символ не хватит ;)
  *ch = (char) getch();        
  printf("%d",(int) *ch); // или  int i = (int) *ch;  printf("%d", i);
  free(ch);                // ресурсы не жрать ! :-D
  
  return( 1 );
}

Olga1int anz = atoi ("ch");
ввожу числа а на печать всегда выводится 0.
Что я неправильно делаю?
Просто atoi пытается из "ch" ('c'+'h'+0) получить число, а у него не выходит...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / функция atoi не работает помогите начинающему
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]