[英]Displaying ASCII Value for RAND Char
我正在使用最后提供的代码在数组中显示随机字符和唯一字符。
我知道这是非常低效的,但是就我而言,这不是问题。
我的问题是: 如何显示每个随机字符的ASCII值? 我习惯于通过以下方式显示ASCII值:
printf("ASCII value of %c = %d\\n", c, c);
但是,由于我的字母存储在array[y]
所以我无法成功存储。
我的代码是:
{
int array[26];
int x, y;
int count;
int i = 0;
char c;
srand(time(NULL));
for (count = 0; count < 26; count++)
{
array[count] = rand() % 26 + 65;
}
while (i < 26) {
c = rand() % 26 + 65;
for (x = 0; x < i; x++)
{
if (array[x] == c) {
break;
}
}
if (x == i) {
array[i++] = c;
}
}
for (y = 0; y < 26; y++) {
printf(" %c = %d\n", array[y], c);
}
scanf_s("%d");
return 0;
}
只需使用array[y]
:
printf(" %c = %d\n", array[y], array[y]);
两件事情:
首先,要解决您的问题,请编写printf(" %c = %d\\n", array[y], array[y])
而不是printf(" %c = %d\\n", array[y], c)
。
其次,如果要存储字母,我建议也将array
的成员声明为字符,即使用char array[26]
而不是int array[26]
。 顺便说一句:如果您将其声明为char array[27]
并在某处设置了array[26] = '\\0'
,则可以直接打印出array
,例如,使用printf("my letters: %s",array)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.