我正在使用最后提供的代码在数组中显示随机和唯一字符。
我知道这是非常低效的,但在我的情况下这不是问题。
我的问题是:如何显示每个随机字符的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;
}
答案 0 :(得分:2)
只需使用array[y]
:
printf(" %c = %d\n", array[y], array[y]);
答案 1 :(得分:2)
两件事:
首先,要解决您的问题,您需要写$selected_id = -1;
$selected_name = "";
if(isset($_GET['cid'])){
$cid = $_GET['cid'];
$res = $pdo->prepare("SELECT * FROM k WHERE id = :cid");
$res->bindParam(":cid",$cid);
$res->execute(); // Run the method
$rw = $res->fetchAll([$cid]); // Store the fetchAll result in a new variable
if($rw){
$selected_id = $rw['id'];
$selected_name = $rw['ime'];
}
}
而不是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