下面该怎么操作,突然就不知道怎么搞了

输入一个字符串,输出字符串中所有的大写字母。我的代码是这样的 #include
int main() {char a[80], b[80];gets(a);int i, j = 0;for (i = 0; a[i] != '\0'; i++) {if (a[i] >= 'A'&&a[i] <= 'Z') {b[j] = a[i]; j++;}

干嘛还要放到b数组?直接输出不就完事了么

#include <stdio.h>
int main()
{
    char s[1000];
    int i=0;
    gets(s);
    while(s[i] != 0)
    {
        if(s[i] >='A' && s[i] <='Z')
            printf("%c",s[i]);
        i++;
    }
}

ChatGPT尝试为您解答,仅供参考
为了输出字符串中所有的大写字母,可以在循环中判断字符是否在 'A' 和 'Z' 之间,如果是,就将字符加入新的字符串 b 中。最后,可以使用 puts 函数将 b 输出到屏幕上。


代码如下:

#include <stdio.h>
int main()
{
    char a[80], b[80];
    gets(a);      // 输入字符串 a
    int i, j = 0; // j 用于记录 b 的长度
    for (i = 0; a[i] != '\0'; i++)
    { // 遍历字符串 a
        if (a[i] >= 'A' && a[i] <= 'Z')
        {                 // 判断字符是否为大写字母
            b[j] = a[i]; // 将字符加入新的字符串 b
            j++;         // 增加 b 的长度
        }
    }
    puts(b); // 输出字符串 b
    return 0;
}

请注意,在这里使用了 gets 函数来输入字符串,但是 gets 函数已经被废弃,它会有安全风险,因此建议使用 fgets 函数来替代 gets 函数。