我只是从字符和数组开始。我写了一些代码来生成一个由某些随机和非随机字符组成的字符串。嗯,实际上它应该为 Dominos 比萨生成特价代码。咳咳……
无论如何,这是代码,我对没有任何输出感到困惑。我用 gcc -Wall 编译,没有任何警告或错误。所以很明显,这是关于字符串的一些基本结构方面。
我将不胜感激有关此的任何见解。
代码:
#include <stdio.h>
#include <stdlib.h>
#include "conio.h"
#include <time.h>
int genrandom(int,int);
char randAlph(void);
char letterize(int);
char randDigit(void);
char digitize(int);
void weaver(void);
void prtall(char[],int);
int main (void) {
srand(time(0));
weaver();
return 0;
}
void weaver(void) {
//BG5C?---1
char word[10];
word[0]='B';
word[1]='G';
word[2]='5';
word[3]='C';
word[4]=randDigit();
word[5]=randAlph();
word[6]=randAlph();
word[7]=randAlph();
word[8]='\0';
prtall(word,8);
}
void prtall(char worder[],int len){
int i;
for (i=0;(i=len);i++) {
if ( worder[i] != '\0' ){
printf("%c",worder[i]);
}
}
printf("\n");
}
int genrandom(int mino,int maxo) {
int val=mino+rand()/(RAND_MAX/(maxo-mino)+1);
return val;
}
char randAlph (void){
int val;
char text;
val=genrandom(0,26);
text=letterize(val);
return text;
}
char randDigit () {
int val;
char text;
val=genrandom(0,9);
text=digitize(val);
return text;
}
char letterize(int num) {
char letter='A'+num;
return letter;
}
char digitize(int num) {
char digit='0'+num;
return digit;
}