《小甲鱼数据结构与算法》(栈和队列5)
利用链栈实现逆波兰计算器中的部分代码while( isdigit(c) || c=='.' )// 用于过滤数字{str[i++] = c;str[i] = '\0';if( i >= 10 ){printf("出错:输入的单个数...
·
利用链栈实现逆波兰计算器中的部分代码
while( isdigit(c) || c=='.' ) // 用于过滤数字
{
str[i++] = c;
str[i] = '\0';
if( i >= 10 )
{
printf("出错:输入的单个数据过大!\n");
return -1;
}
scanf("%c", &c);//再输入一个字符
if( c == ' ' )
{
d = atof(str);
Push(&s, d);
i = 0;
break;
}
}
视频中讲到注释掉 str[i] = '\0
'会出错,但是我在geany编译器中注释掉这句之后依旧能成功运行。
另外,B站视频弹幕谈到‘空格’是如何进入到进入到while循环的,大概是没有注意到在while循环中scanf("%c", &c);
这句代码是在已经获取到一个数字或小数点的情况下,再获取一个新的字符,之后再对这个字符判断是不是空格
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)