第一次通过成语

用户名

这是一个经典问题,其中必须处理元素列表,但第一个元素的处理方式必须与其余元素不同。例如,打印一个字符串,使每个两个字符之间都有一个破折号。

这是一个非常可怕的例子

    char *text = "hello";

    for (int i = 0; i < strlen(text); i++) {

            if (i == 0) {
                    printf("%c", text[i]);
            } else {
                    printf("-%c", text[i]);
            }
    }

输出:

h-e-l-l-o

首先,这种情况是否有通用名称,以便我可以正确查找?

其次,当然,解决此类问题的更好方法是什么?“更好”是更少的代码行,更快的运行时间或更低的内存开销(最好是它们之间的妥协)。

以任何语言发布示例代码。

DPenner1

坚持使用您编写的原始C语言,通常最好是将特殊情况排除在循环之外,因为循环意味着重复执行同一任务。我将代码编写为:

char *text = "hello";

printf("%c", text[0]);
for (int i = 1; i < strlen(text); i++){
    printf("-%c", text[i]);
}

在这种情况下,通常最后一种情况也可能是一种特殊情况,您可以循环播放直到strlen(text) - 1当然,如果您使用专门用于处理此问题的API的语言,请像在@TylerEaves答案中一样使用它们。我不知道这种问题的任何具体名称,但是每当您调整循环界限时,请始终注意一个不合一的错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按钮未通过第一次单击调用OnClickListener

来自分类Dev

广度第一次迭代?

来自分类Dev

第一次接触被忽略?

来自分类Dev

如何在第一次加载时通过htaccess文件设置cookie

来自分类Dev

无法通过验证在jquery中单击第一次提交表单

来自分类Dev

第一次流浪失败

来自分类Dev

iOS 7第一次通过时不正确计算UITableViewCell高度

来自分类Dev

通过VBS进行表单操作-第一次选择后需要更新表单

来自分类Dev

第一次击球太快

来自分类Dev

第一次安装Ubuntu

来自分类Dev

仅通过第一次出现的分隔符来分割字符串

来自分类Dev

powershell命令弹出通过USB连接的设备第一次不起作用

来自分类Dev

为什么道具/动作不是第一次通过?

来自分类Dev

第一次链接功能

来自分类Dev

第一次运行jstree

来自分类Dev

广度第一次迭代?

来自分类Dev

动画是第一次

来自分类Dev

通过第一次出现数字来分隔单元格

来自分类Dev

bxSlider onSlideBefore-第一次通过后不起作用

来自分类Dev

第一次接触被忽略?

来自分类Dev

HTTPAsyncClient第一次跳过

来自分类Dev

第一次使用Mockito

来自分类Dev

摩卡第一次测试

来自分类Dev

通过第一次出现的分隔符来分割字符串

来自分类Dev

第一次加载页面

来自分类Dev

第一次击球太快

来自分类Dev

组件的第一次更新

来自分类Dev

Laravel - 第一次使用

来自分类Dev

第一次安装 Ubuntu