C语言自定义字符串输出函数-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

C语言自定义字符串输出函数

2016-06-08 15:16:51 1587 1
#include<stdio.h>
#include<stdlib.h>
int my_puts(const char *);

int main(void)
{
    int num;
    const char name[50]="hello,\n my name is neo1218\n";
    num = my_puts(name);
    printf("name的长度是: %d\n", num);
    return 0;
}

int my_puts(const char *string)
{
    int count = 0;
    while(*string){
        putchar(*string++);
        count++;
    }
    putchar('\n');
    return (count);
}

在Ubuntu下编译成功没有warning,但运行后输出大量乱码。。求解!!

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:32:03

    原因可能因为 const char name[50]="hello,n my name is neo1218n"; 这一句声明的写法不太规范,一般的写法是这样的:
    const char name[]="hello,n my name is neo1218n";
    或者:
    const char *name="hello,n my name is neo1218n";

    一些题外话:
    上面声明的name[50]会占用50个字符,而并没有显式告诉编译器给字符串一个结束符(0),所以不同的编译器对这一句的处理可能不太一样。如果非要声明一个占50字符长度的数组,可以用:
    const char name[50]= {0}; //下面用memcpy,所以确保字符串后有0
    memcpy(name, "hello,n my name is neo1218n", strlen("hello,n my name is neo1218n");

    const char name[50];
    strcpy(name, "hello,n my name is neo1218n"); //strcpy会添加0

    0 0
相关问答

1

回答

c语言,一个连接两字符串的函数。

2016-06-06 14:06:40 1848浏览量 回答数 1

1

回答

请问c语言中的 数据结构与算法 看那一本书比较好?谢谢?

2018-07-22 15:59:21 2047浏览量 回答数 1

2

回答

数据结构与算法 熊岳山祝恩 编著 是c语言还是c ++

2018-07-21 17:32:23 2189浏览量 回答数 2

2

回答

谁能推荐一本 C语言数据结构与算法 好点的书籍。谢谢

2018-07-21 13:47:02 1720浏览量 回答数 2

1

回答

谁有数据结构与算法分析C语言描述这本书 PDF清楚一点的

2018-07-21 20:15:47 1588浏览量 回答数 1

3

回答

求数据结构与算法分析c语言描述电子书,文件,谢谢

2018-07-21 11:42:46 1189浏览量 回答数 3

3

回答

我自学了C语言,C++,其它(包括数据结构和算法)的什么都没有学,我现在可以找工作了吗?

2018-07-20 19:48:09 1330浏览量 回答数 3

2

回答

数据结构与算法分析C语言描述课本中的这个公式是什么意思啊?

2018-07-15 14:13:13 3184浏览量 回答数 2

1

回答

C语言 数据结构的问题

2016-05-30 19:23:01 1783浏览量 回答数 1

1

回答

数据结构 链表 c语言 简单问题

2016-03-20 14:23:07 1485浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载