いくつかの文字と数字で構成される char 配列を作成しようとしています (関数は最初はもっと複雑でしたが、正しく機能しない理由を理解するために単純化を続けました)。だから私は2文字を入れたchar配列を持っていて、それにいくつかの数字を追加しようとしています。私が理解できない理由で、数字は配列に追加されません。本当にばかげているかもしれませんが、私は C に慣れていないので、簡略化したコードを示します。どんな助けでも大歓迎です、ありがとう!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char some_string[20];
char *make_str() {
some_string[0] = 'a';
some_string[1] = 'x';
int random = 0;
int rand_copy = 0;
random = (rand());
rand_copy = random;
int count = 2;
while ( rand_copy > 0 ) {
rand_copy = rand_copy / 10;
++count;
}
int i=2;
for (i=2; i<count; i++) {
some_string[i] = random%10;
random = random/10;
}
return (some_string);
}
int main(int argc, const char *argv[]) {
printf("the string is: %s\n",make_str());
return 0;
}