为啥都给我标红了,只能在开关内使用是什么意思呢?接下来我需要怎么做?

以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
看起来你在写C语言的switch语句时遇到了一些问题。我会帮你分析并提供修正建议。首先,关于“标红”和“标签只能在开关内使用”的问题,这意味着你的代码中存在语法错误或不符合C语言的规范。让我们一步步来修复这些问题。
针对图1的内容,我注意到以下几个问题:
scanf_s函数的使用方式不正确,应该使用圆括号()包围参数。switch语句后面不应该有分号;。case语句后面跟着的应该是常量或字面值,并且应该紧跟冒号:。printf函数中的字符串参数应该用引号括起来。ak; ak;这部分代码不清楚意图,应该移除或替换为正确的代码。修正后的代码应该如下:
#include <stdio.h>
int main() {
char grade;
scanf_s("%c", &grade); // 注意圆括号的正确使用
printf("YOUR score: ");
switch (grade) { // 移除末尾的分号
case 'A': // 注意冒号和单引号的使用
printf("90~100\n");
break;
case 'B': // 这里假设你想要为B级别提供输出,可以根据需要添加其他case语句
printf("80~89\n"); // 根据你的需求填写相应的输出内容
break;
// 继续添加其他case语句...
case 'D': // 注意冒号的正确使用和字符串的引号使用
printf("60~69\n"); // 注意字符串需要用引号括起来,并且语句结束要有分号
break;
case 'E': // 注意冒号的正确使用和字符串的引号使用,以及默认情况的冒号使用应该与前面的case对齐而不是缩进更深一层的位置
printf("0~59\n");
break; // 在最后一个分支结束后,不需要再使用冒号和其他符号,直接结束即可。同时注意末尾的冒号对齐问题。最后不需要再添加return语句和竖线符号。return语句应该出现在main函数的末尾而不是中间位置。而且末尾不需要冒号,直接使用分号结束即可。代码块应该以正确的缩进结构呈现。具体代码如下所示: `int main(){ ... return 0; }` (没有冒号)关于`ak`的使用可能是你的代码片段中暂时不确定的部分,你需要根据实际情况替换为正确的逻辑或注释掉这部分代码。总结一下,修复后的代码应该是这样的: #include <stdio.h> int main() { char grade; scanf_s("%c", &grade); printf("YOUR score: "); switch (grade) { case 'A': printf("90~100\n"); break; case 'B': printf("80~89\n"); break; case 'C': printf("C等级对应的分数范围\n"); break; case 'D': printf("60~69\n"); break; case 'E': printf("0~59\n"); break; default: printf("输入数据错误!\n"); } return 0; } 图2的内容与图1相似,修复方法与上述一致。确保代码的格式和结构正确,避免语法错误和不必要的符号或语句错误即可。如果你还有其他问题或需要进一步的帮助,请随时向我提问。