学C带你飞39课后题2绝逼是错误的请老师更正
不能加20个9 举例说明,还有截图如果我没有记错的话,带你飞C的39课2题答案真的正确吗? 是你发表的吧;还没有结贴啊?
说回这里result = (char *)malloc(INIT_SIZE);
#define INCREMENT 10
#define INIT_SIZE INCREMENT
你总共分配了10这么个大小来存和,凭什么能加20个9?
最后麻烦记得结贴。。。 人造人 发表于 2018-7-9 17:48
举例说明,还有截图
谢谢 ba21 发表于 2018-7-9 18:59
如果我没有记错的话,带你飞C的39课2题答案真的正确吗? 是你发表的吧;还没有结贴啊?
说回这里resul ...
谢谢谢谢谢谢 ba21 发表于 2018-7-9 18:59
如果我没有记错的话,带你飞C的39课2题答案真的正确吗? 是你发表的吧;还没有结贴啊?
说回这里resul ...
老师你没看见realloc重新分配吗?所以不用一开始改1000 sswy 发表于 2018-7-9 19:49
老师你没看见realloc重新分配吗?所以不用一开始改1000
到底你还是没有专心学。
用心看,用心学吧。别这么粗心。
最主要的一点是自己不专心又乱指错误;这不给人家笑话。
// 将两个字符串对应的数值相加
char *add_two_strs(char *str1, char *str2)
{
int carry = 0; // 存放进位
int num1, num2, num3;
char *result;
result = (char *)malloc(INIT_SIZE); // 你不改INCREMENT 你觉得这里能分多大的内存来存放相加后的内容
if (result == NULL)
{
exit(1);
}
memset(result, 0, INIT_SIZE); ba21 发表于 2018-7-9 20:02
到底你还是没有专心学。
用心看,用心学吧。别这么粗心。
最主要的一点是自己不专心又乱指错误;这不给 ...
char *append_result(char *result, char ch)
{
char *last = result;
int limit = 0;
int times = 1;
// 定位到字符串的末尾
while (last != '\0')
{
if (limit >= INCREMENT)
{
limit = 0;
times++;
last += INCREMENT;
}
}
last = ch;
if (limit >= INCREMENT)
{
result = (char *)realloc(result, INIT_SIZE + INCREMENT * times);//这里是把result在INIT_SIZE基础上从新分配了内存的
last += INCREMENT;
}
last = '\0';
return result;
}
老师,首先我比任何都认真学,也请老师认真点看清楚后面的代码,内存是重新用realloce分配了的,懂吗老师?
还有老师我不怕人笑话,因为我要搞懂一个问题,笑话我下有什么,将来不懂才最可笑 ba21 发表于 2018-7-9 20:02
到底你还是没有专心学。
用心看,用心学吧。别这么粗心。
最主要的一点是自己不专心又乱指错误;这不给 ...
num3 = num1 + num2 + carry;
if (num3 > 9)
{
append_result(result, num3 - 10 + '0');
carry = 1;
}
else
{
append_result(result, num3 + '0');
carry = 0;
}
认真点看老师,进入append_result之后result大于10会用realloc重新分配,懂吗老师? sswy 发表于 2018-7-9 20:17
num3 = num1 + num2 + carry;
if (num3 > 9)
{
你是正确的
ba21 发表于 2018-7-9 20:02
到底你还是没有专心学。
用心看,用心学吧。别这么粗心。
最主要的一点是自己不专心又乱指错误;这不给 ...
这个如何解释?
第一张看不清,换一张
看gif吧,这一张也很模糊,这不是我的问题
这是2.png
人造人 发表于 2018-7-9 20:20
你是正确的
老师我说的对吗?而且他什么态度,我本来就是做CG的,他居然说我不认真学习,我每天除了睡觉就是练习,这个和我10年前做角色动画一样,我当时非常菜大家都在嘲笑我,但是我现在是业内顶尖高手,就凭一股认真二字,我不怕人家笑我,我不怕真的! sswy 发表于 2018-7-9 20:32
老师我说的对吗?而且他什么态度,我本来就是做CG的,他居然说我不认真学习,我每天除了睡觉就是练习,这 ...
^_^
你是正确的
的确是小甲鱼老师的代码有问题
@小甲鱼 sswy 发表于 2018-7-9 20:32
老师我说的对吗?而且他什么态度,我本来就是做CG的,他居然说我不认真学习,我每天除了睡觉就是练习,这 ...
你的确很认真,我之前学这部分时就没有发现这个
我不记得之前是怎么回事了,但是就是没有发现这个问题
^_^ 人造人 发表于 2018-7-9 20:41
你的确很认真,我之前学这部分时就没有发现这个
我不记得之前是怎么回事了,但是就是没有发现这个问题
...
谢谢老师,记得您一直回复我的问题,谢谢您,感谢 人造人 发表于 2018-7-9 20:41
你的确很认真,我之前学这部分时就没有发现这个
我不记得之前是怎么回事了,但是就是没有发现这个问题
...
还送给我了单片机的书,再次感谢,学生一直记得 ba21 发表于 2018-7-9 20:02
到底你还是没有专心学。
用心看,用心学吧。别这么粗心。
最主要的一点是自己不专心又乱指错误;这不给 ...
老师,敢讽刺我,就敢出来道个歉嘛,希望以后你能多帮助我 sswy 发表于 2018-7-9 21:01
老师,敢讽刺我,就敢出来道个歉嘛,希望以后你能多帮助我
怎么敢讽刺你,给你指正你当讽刺,这老师我当不起。
然后 你指出的这里,我看了一眼,我猜 的没错的话,这是有进位的时候要求增大内存。
num3 = num1 + num2 + carry;
if (num3 > 9)
{
append_result(result, num3 - 10 + '0');
carry = 1;
}
else
{
append_result(result, num3 + '0');
carry = 0;
}
再者 你是你提问的,我是来给你答的,没有讽刺你的意思。你要是觉得我说得不好,你可接回复不用我答即可。话说回来你学得好不好跟我有半毛钱关系{:10_278:},给你讲起我好像回复你占了你什么便宜一样。
还有一点,你觉得甲鱼老师的代码有问题,我们答的不好,你可以直接呼他交流。
页:
[1]
2