首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSLog默认断线

NSLog默认断线
EN

Stack Overflow用户
提问于 2014-02-23 02:58:29
回答 2查看 415关注 0票数 0

我对目标C非常陌生,我开始学习一些简单的东西。在本例中,我希望使用pyramid符号创建一个*

问题:每次打印*时,都会包含一个断线。我怎样才能摆脱它来创造金字塔的外观?我认为必须添加\n才能在我添加的Break line文本中造成行中断。

现在,我有这样的代码来创建一个金字塔:

代码语言:javascript
复制
    //Pyramid
    int a,b;
    int x=5;

    for(a = 1; a <= x; a++){

        for(b=1; b<=a; b++){
            NSLog(@"*");
        }

        NSLog(@"Break line");

    }

结果:

代码语言:javascript
复制
2014-02-23 10:44:35.264 Pyramid[614:303] *
2014-02-23 10:44:35.266 Pyramid[614:303] Break line
2014-02-23 10:44:35.267 Pyramid[614:303] *
2014-02-23 10:44:35.267 Pyramid[614:303] *
2014-02-23 10:44:35.267 Pyramid[614:303] Break line
2014-02-23 10:44:35.268 Pyramid[614:303] *
2014-02-23 10:44:35.268 Pyramid[614:303] *
2014-02-23 10:44:35.269 Pyramid[614:303] *
2014-02-23 10:44:35.269 Pyramid[614:303] Break line
2014-02-23 10:44:35.269 Pyramid[614:303] *
2014-02-23 10:44:35.270 Pyramid[614:303] *
2014-02-23 10:44:35.270 Pyramid[614:303] *
2014-02-23 10:44:35.270 Pyramid[614:303] *
2014-02-23 10:44:35.271 Pyramid[614:303] Break line
2014-02-23 10:44:35.271 Pyramid[614:303] *
2014-02-23 10:44:35.272 Pyramid[614:303] *
2014-02-23 10:44:35.272 Pyramid[614:303] *
2014-02-23 10:44:35.272 Pyramid[614:303] *
2014-02-23 10:44:35.273 Pyramid[614:303] *
2014-02-23 10:44:35.273 Pyramid[614:303] Break line
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-23 03:20:36

正如注释中所述,NSLog总是只输出一行,您将无法像在Java中所做的那样避免这种情况。或者,您应该研究构建字符串(如这里所描述的:Shortcuts in Objective-C to concatenate NSStrings)。

举个例子:

代码语言:javascript
复制
//Pyramid
int a,b;
int x=5;

for(a = 1; a <= x; a++){
    NSMutableString *string = [NSMutableString string];
    for(b=1; b <= a; b++){
        [string appendString:@"*"];
    }

    NSLog(@"%@", string);
}
票数 1
EN

Stack Overflow用户

发布于 2014-02-23 03:25:13

NSLog总是在结尾输出换行符,在开始时输出其他信息。

您可以使用printf("*");输出到控制台,而无需换行符。当您需要换行符时,请包括\n

代码语言:javascript
复制
for (NSUInteger outerIndex = 1; outerIndex <= 5; ++outerIndex) {
    for (NSUInteger innerIndex = 1; innerIndex <= outerIndex; ++innerIndex) {
        printf("*");
    }

    printf("\n");
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21963631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档