Как напечатать символ и его эквивалентное значение ASCII в C?Печать символов и их ASCII-код в C
ответ
Это выводит все значения ASCII:
int main()
{
int i;
i=0;
do
{
printf("%d %c \n",i,i);
i++;
}
while(i<=255);
return 0;
}
и это выводит значение ASCII для данного символа:
int main()
{
int e;
char ch;
clrscr();
printf("\n Enter a character : ");
scanf("%c",&ch);
e=ch;
printf("\n The ASCII value of the character is : %d",e);
getch();
return 0;
}
. Ваш код печатает десятичное значение, созданное путем преобразования символа в внутр. Это может быть код ascii на некоторых системах, но опять же это может быть не так. –
Почему вышеуказанная программа не печатает символы ASCII от 127 до 160? – CodeCodeCode
Довольно уверен ASCII останавливается на 127 – sreya
Попробуйте это:
char c = 'a'; // or whatever your character is
printf("%c %d", c, c);
В% гр это строка формата для одного символа и% d для цифры/целого. Извлекая char на целое число, вы получите значение ascii.
Вам не нужно указывать на 'int', поскольку промо-акции стандартного типа будут способствовать' c' в 'int' автоматически. –
Упс - спасибо за улов. Вероятно, просто пытался быть слишком явным :) – MBillock
Это читает строку текста из стандартного ввода и выводит символы в строке и их ASCII-коду:
#include <stdio.h>
void printChars(void)
{
unsigned char line[80+1];
int i;
// Read a text line
if (fgets(line, 80, stdin) == NULL)
return;
// Print the line chars
for (i = 0; line[i] != '\n'; i++)
{
int ch;
ch = line[i];
printf("'%c' %3d 0x%02X\n", ch, ch, (unsigned)ch);
}
}
'% X' ожидает ** unsigned ** int. –
@ NisseEngström - Код исправлен, для действительно педантичного. Да, всегда полезно использовать 'unsigned char []' для текстовых буферов. –
Это должно работать в любой системе C, а не только те, которые являются ASCII или UTF- 8 на основе:
printf (" Q is decimal 81 in ASCII\n");
Вы действительно просил полукокса; остальные 96 из них оставлены в качестве упражнения для читателя.
Для печати всех значений ASCII от 0 до 255, используя в то время цикла.
#include<stdio.h>
main()
{
int a;
a=0;
while(a<=255)
{
printf("%d = %c\\n",a,a);
a++;
}
getch();
}
#include"stdio.h"
#include"conio.h"//R.M.VIVEK coding for ascii display values
void main()
{
int rmv;
for(rmv=0;rmv<=256;rmv++)
if(printf("%c",rmv))
getch();
}
Символов в пределах одной кавычки ('XXXXXX'), когда печатается в десятичном Выведите его ASCII значение.
int main(){
printf("D\n");
printf("The ASCII of D is %d\n",'D');
return 0;
}
Выход:
% ./a.out
>> D
>> The ASCII of D is 68
Я использовал "для" это мое решение:
using System;
using System.Text;
class PrintASCIITable
{
static void Main()
{
byte symbols = 255;
for (int i = 0; i < symbols; i++)
{
Console.WriteLine((char)i);
}
}
}
Ничто не может быть более простым, чем это
#include <stdio.h>
int main()
{
int i;
for(i=0 ; i<=255 ; i++) /*ASCII values ranges from 0-255*/
{
printf("ASCII value of character %c = %d\n", i, i);
}
return 0;
}
#include<stdio.h>
#include<conio.h>
void main()
{
int i;
char ch;
clrscr();
printf("\t Enter a Value: ");
scanf("%c",&ch);
i=0;
while(i<=ch)
{
printf("\t %d Is %c \n",i,i);
i=i+1;
}
getch();
}
Привет, спасибо за ваш ответ. Оригинальный плакат кажется новичком, не могли бы вы объяснить каждый шаг вашего кода и их последствия? например, используя 'conio.h', ваш код явно ориентирован на Microsoft, поскольку этот заголовок не находится в стандартном C или POSIX. – bufh
Также вы можете использовать, как это (C++):
int main(){
int x;
cin >> x;
cout <<(char)x; // In the form of character
char a;
cin >> a;
cout << (int)a; // In the form of `Ascii` code
}
Пожалуйста, отредактируйте форматирование своего ответа! – jogo
Что это связано с C? :) – animaonline
До сих пор, кажется, нет правильного ответа среди 12 ответов.Многие из них терпят неудачу при ограничении значений в диапазоне от 0 до 127, поскольку ASCII представляет собой 7-битное кодирование, и пока никто не решил проблему, что числовое значение символа в C не должно быть значением * ASCII *! Система/компилятор также может использовать что-то вроде кодирования EBCDIC, тогда числовое значение «a» не будет значением ASCII для «a» в C. – BlackJack