生成随机数字和字母,并将其连接起来(编译通过了,运行没效果是怎么回事)

#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



```