c - 如何删除字符串中的第一个零?(不使用atoi)
问题描述
我正在制作一个脚本,计算两个自然数之间的加法,其中十进制长度应小于或等于 10000,并打印总和的结果。
当然,在 C 中没有任何变量类型可以保存长度为 10000 的整数。
所以,我利用我们小时候在学校里学到的所有简单加法的计算逻辑来制作这个程序。而且,我应该使用字符串来获取那些巨大的数字。
但有些结果是从零开始的。我知道为什么零会出现在那里,但我确实更喜欢得到类似“1234”的结果,而不是“01234”。顺便说一句,所有其他的东西都很完美。
我需要一个函数,它以字符串的形式获取输入,并删除以字符串开头的单个零(如果存在)。
你能代替我做吗?您可能应该考虑到我们将处理的字符串的长度可以小于或等于 10000。
解决方案
也许是这样:
char * f( char * str )
{
while ( *str == '0' && str[1] )
str++; // skips all zero-s when it is not last character in string
return str;
}
推荐阅读
- ios - 如何将 [NSManageObject] 数组“向下转换”到所选实体?
- kotlin - RetryWhen 中需要使用 AtomicBoolean
- glassfish-2.x - 如何在 Eclipse 中为 glassfish 2.1 服务器安装 glassfish 工具
- enums - Bison/Yacc 错误:字段类型不完整
- delphi - 为什么我收到调用错误:找不到方法
- php - PHP:CURL 返回空数据
- android - 有什么方法可以让我们了解指纹认证的指纹细节吗?
- java - 如何在edittext android中取消加粗和取消突出显示选定的文本
- r - dplyr slice:有平局时基于向量的优先级
- angular - 将 ag-grid 与 flexbox 一起使用