gpt4 book ai didi

c - 加号未被读取

转载 作者:行者123 更新时间:2023-11-30 17:00:38 26 4
gpt4 key购买 nike

出于某种原因,我的程序根本不读取加号,如果我这样做也没关系:

#include <stdio.h>
#include <math.h>

int main (){

int nextInt,number,boolean;
char sign;
scanf("%d", &number);
boolean = 1;

while(boolean == 1){ //+43 *42 %37
scanf("%c %d", &sign, &nextInt);

switch ((int)sign){
case 43:{ number += nextInt; printf("+= %d\n", number); break;}
case 42:{ number *= nextInt; printf("*= %d\n", number); break;}
case 37:{ printf("mod %d\n", number);
number %= nextInt;
boolean = 0; break;}
}
}

printf("%d", number);
return 0;
}

或者用符号 switch (sign) 来切换 ascii。我现在有点不知道问题的根源是什么。我做错了什么?

编辑:粘贴整个代码

最佳答案

自 1806 % 37 = 30 起,您可以验证以下内容是否有效。

#include <stdio.h>

int main (){

int nextInt=0;
int number=0;
int boolean;
char sign;
boolean = 1;

while(boolean == 1){ //+43 *42 %37
scanf(" %c %d", &sign, &nextInt);

switch (sign){
case '+':{ number += nextInt; printf("+= %d\n", number); break;}
case '*':{ number *= nextInt; printf("*= %d\n", number); break;}
case '%':{ printf("mod %d\n", number);
number %= nextInt;
boolean = 0; break;}
}
}

printf("%d", number);
return 0;
}

你的程序没有读取 plus 的原因是它不在循环中。您可以验证该程序是否有效:

+43
+= 43
*42
*= 1806
%37
mod 1806
30
Process finished with exit code 0

关于c - 加号未被读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com