命令区分大小写。以下是命令:
您的程序应继续询问用户的有效命令,直到用户键入EXIT。
来自用户的有效输入示例:
来自用户的无效输入示例:
我已经尝试过制作,但不幸的是只做了ADD命令。似乎无法获得PRT AX命令。请帮帮我:(这是我的代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char str[20];
char cmd[10], x[10], y[10], zip[32], set[32];
int AX, i, j;
int main (void) {
while (str != 'EXIT') {
scanf ("%[^\n]%*c", str);
if (str != 'PRT') {
calc();
}
}
return 0;
}
int add(int x, int y){
return x + y;
}
int calc() {
strcpy(cmd, strtok(str , " "));
strcpy(x, strtok(NULL, ","));
strcpy(y , strtok(NULL, ","));
i = atoi(x);
j = atoi(y);
if ((strcmp (cmd, "ADD") == 0) && (strcmp (cmd, "add") < 0)) {
AX = add(i,j);
}
return AX;
}
// i dont know what i did with this or what i did it for T.T
void print() {
strcpy(cmd, strtok(str , " "));
strcpy(zip, strtok(NULL, " "));
if (strcmp (cmd, "PRT") == 0 && strcmp (zip, "AX") == 0) {
printf("%d\n", AX);
}
}
答案 0 :(得分:0)
让我猜猜 - 你没有看到输出?
strcpy(zip, strtok(NULL, " "));
if (strcmp (cmd, "PRT") == 0 && strcmp (zip, "AX") == 0) {
printf("%d\n", AX);
}
你想用zip
做什么?您将它分配给一个空字符串,然后只打印AX,如果它等于zip,它将永远不会。
请注意,您应该更好地加入括号(读取运算符优先级),所以
strcpy(zip, strtok(NULL, " "));
if ((strcmp (cmd, "PRT") == 0) && (strcmp (zip, "AX") == 0)) {
printf("%d\n", AX);
}
但是,真的,你只需要忘记zip和
void print() {
printf("%d\n", AX);
}