【发布时间】:2021-05-09 16:18:55
【问题描述】:
例如,如果我想在 for 循环中调用 switch 语句,我得到一个错误。我该如何纠正这个问题?如果我想在确定的条件下移动我的 switch 语句外部部分,这将使用超过调用切换语句。提前致谢。
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#define SIZE 50
int i = 0;
int main() {
char usertxt[SIZE], myoperator[SIZE];
printf("addition='+',subtraction='-',multiplication='*',division='/'\n");
usertxt[0] = 0;
int x, myarray[SIZE];
printf("How many numbers should be entered? ");
scanf_s("%d", &x);
for (i = 0; i < x; i++) {
scanf_s(" %c", &myoperator[i], 1);
switch (myoperator[i]) {
case '+':printf("Addition operation\n");
printf(" Enter your number: ");
scanf_s("%d", &myarray[i]);
usertxt[i] = printf("%d%c", myarray[i], myoperator[i]);
break;
case '-':printf("Subtraction operation\n");
printf("Enter your numbers: ");
scanf_s("%d", &myarray[i]);
usertxt[i] = printf("%d%c", myarray[i], myoperator[i]);
break;
case '*':printf("Multiplication operation\n");
printf("Enter your numbers: ");
scanf_s("%d", &myarray[i]);
usertxt[i] = printf("%d%c", myarray[i], myoperator[i]);
break;
case '/':printf("Division operation\n");
printf("Enter your numbers: ");
scanf_s("%d", &myarray[i]);
usertxt[i] = printf("%d%c", myarray[i], myoperator[i]);
break;
default :if (myoperator[i] == '\0') {
break;
};
}
}
}
【问题讨论】:
-
欢迎来到 SO。这将有助于向我们展示您遇到的错误。请编辑您的问题以包含确切的错误消息。
-
"如果我想在确定的条件下移动我的 switch 语句外部部分,该条件将使用超过调用 switch 语句。"你能改一下你的意思吗?
-
break末尾的switch将脱离switch。它不会脱离for循环。这是你的问题吗? -
@Johnny,为什么将
printf()的结果分配给usertxt[i]? -
"我遇到了一个错误" --> 那是什么错误?