Member 13550518 Ответов: 2

Я пытаюсь распечатать свой массив символов, но он просто печатает число, почему?


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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[])
{
int counter;
char car[3]={'a','b','c',};
counter = 0; 
 while(counter < 3)  
{

   printf("%d\n",car[counter]); 
   counter++; 
    } 
 
 

	
	return 0;

What I have tried:

i have tried changing the values and trying different codes but nothing comes up it just gives me ramdon numbers on the output which i find annoying cuz the values are ABC

2 Ответов

Рейтинг:
0

CPallini

Изменение от

Цитата:
printf("%d\n",car[счетчик]);
к
printf("%c\n",car[counter]);
Взгляните на это е документация[^].

Кстати, числа, которые вы получаете, не являются случайными. Они Коды ASCII[^] соответствует символам 'a', 'b', 'c'.


Рейтинг:
0

OriginalGriff

Потому что вы используете спецификатор формата "%d", который говорит: "выведите мне целое число". Число, которое он печатает, является представлением ASCII каждого символа.
Попробовать это:

printf("%c\n",car[counter]);