C语言数字加减乘除运算,计算结果不对,哪里出了问题?

如:unsignedchart1=121;unsignedchart2;unsignedchart3;t2=(t1/2)+40;//+401.5cyclet3=(t2/2... 如:
unsigned char t1=121;
unsigned char t2;
unsigned char t3;
t2=(t1/2)+40; //+40 1.5cycle
t3=(t2/2)-20; //-20 1.5cycle

为什么结果t1、t2不是等于+40和-20的结果,怎么回事,是哪里出错了?
展开
 我来答
七琪淇
2019-09-21 · TA获得超过110个赞
知道小有建树答主
回答量:108
采纳率:73%
帮助的人:40.3万
展开全部

把unsigned char改成unsigned int,我用VS2019没问题的

更多追问追答
追问
改了,也是不行
追答
是正常运行,得到结果错误;还是运行就出错了?  你那里的t6前面有定义吗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智者总要千虑
高粉答主

2019-09-21 · 说的都是干货,快来关注
知道顶级答主
回答量:7.9万
采纳率:88%
帮助的人:1.3亿
展开全部
完整的题目要求怎样,比如,参与运算的是什么样的数?
scanf("%1f%c%1f",&first_number,&character,&second_number);/*输入一个算式,如*/
printf("等于%1f\n", value);
中%1f的格式符抄错了?double类型输入/输出时要用%lf格式符(小写的L)。
追问
比如说我要做 方波  的,t2是它的脉宽,

我用 t2=(t1/2)+40; t2输出不是100,波形不对。
我改成 t2=100; 它就对了。
是不是 t2=(t1/2)+40 这公式不能这样用??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2019-09-21 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
不是很明白你在说啥,t1/2+40=121/2+40=60+40=100
追问
就是说 t2应该是等于100的,可输出不是100。
比如说我要做 方波 的,t2是它的脉宽,
我用 t2=(t1/2)+40; t2输出不是100,波形不对。
我改成 t2=100; 它就对了。
是不是 t2=(t1/2)+40 这公式不能这样用??
追答
不清楚什么情况,要不你试试
t2=(unsigned char)(t1/2)+(unsigned char)40;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式