美好的一天!我是一個新手程序員,我仍然對如何應用C的概念感到困惑。我正在開發一個項目。我的問題是我已經初始化某些字符並將它們存儲在一個字符串中(vars [28])。我的目標是以隨機方式生成字符串的字符,並將生成的字符串存儲在另一個變量中,這是我不知道如何去做的。字符存儲在字符串 - 如何隨機將它們存儲在另一個字符串變量
int randnum = 0, num = 0;
char vars[28] = "|abcdefghijklmonpqrstuvwxyz."; //initialized string
char term; //where to store randomized string
int i = 0;
char choi[1];
printf ("%c", vars[0]);
srand (time(NULL));
randnum = rand() % 30; //only 30 characters maximum to be stored
for (i = 0; i <= randnum; i++)
{
//randomly produce vars[28] characters here and store into 'term'
}
附加問題:如何防止|和。隨機分配時彼此並排?
謝謝!
我想象你想做什麼,是從隨機選擇的字符中生成一個字符串 - 因爲你需要在一個匹配你生成的字符串長度的循環中使用'vars [rand()%28]'創建一個字符串 – mewa
嗨!嗯,我試着把「term [100] = vars [rand()%28]」;在循環內部和「printf(」%s「,term)」但它不在終端輸出......我的錯誤是什麼? –
'term'不是一個數組,也不是一個'char *'指針,它是一個單字節,'term [100]'正在訪問隨機存儲器位置並且可能導致分段錯誤。 –