#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
int main()
{
char a[100], b[50];
srand(time(0));
a[100] = rand() % 26;//生成0-25的随机数
b[100] = rand() % 26;
b[100] += 'A';//字符转换成大写
strcat_s(a, b);//连接,生成数字和字母组合
printf("%s", a);
return 0;
}
数字的ascII码是48到57,你那是0到25,都是特殊功能符,当然有问题了
题主的代码修改,供参考:
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
int main()
{
srand((unsigned int)time(NULL));
char a[101], b[51];
int i,j;
for(i=0,j=0;i<100;j++,i+=2){
a[i] = rand() % 26 + 65;
b[j] = rand() % 9 + '0';
a[i+1] = b[j];
printf("%c,%c\n",a[i],a[i+1]);
}
a[i] = '\0';
printf("%s\n", a);
return 0;
}
小伙里面问题挺多
char a[100] ={0}, b[50] = {0};
srand(time(0));
a[0] = rand() % 26;//生成0-25的随机数
b[0] = rand() % 26;
b[0] += 'A';//字符转换成大写
strcat_s(a, b);//连接,生成数字和字母组合
```c
```