我試圖創建一個由一些字母和數字組成的字符數組(函數最初的方式更復雜,但我不停地簡化它以找出它爲什麼不能正常工作)。所以我有一個字符數組,我把2個字符,並嘗試添加一些數字。 由於我無法弄清楚的原因,數字不會被添加到數組中。這可能真的很愚蠢,但我是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;
}
任意數量小於32(如果我沒記錯)對應於一個非打印字符 – Saphrosit
@axesdenied短故事人物:有沒有這樣的事情在信一臺電腦。一切都是二進制數字。 char類型也不例外。當你寫'some_string [0] ='a';'你實際上正在寫'some_string [0] = 97;'時,字符文字比原始ASCII碼更容易閱讀。 'random%10'給出一個介於0到9之間的數字。ASCII數字的數字在48('0')和57('9')之間。在這裏輸入+'0',實際上意思是「給我一個0-9之間的隨機數,然後加48」,這相當於「給我一個48到57之間的隨機數。」 – Lundin