标题:关于数组内存
只看楼主
gikieng
Rank: 2
等 级:论坛游民
帖 子:19
专家分:14
注 册:2013-3-7
结帖率:100%
已结贴  问题点数:5 回复次数:4 
关于数组内存
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
    char xinghao[60];
    char str[]="This is my first C program!";
    memset(xinghao,'*',60);
    printf("%s\n",xinghao);
    printf("%42s\n",str);
    printf("%s\n",xinghao);
}
输出的星号后面为什么会出现一此其他字符呢。。。
当我把60改成其它数字时有时全都是输出*号。。。
搜索更多相关主题的帖子: first include 
2013-03-15 07:44
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
'\0' c语言的字符串的尾巴

DO IT YOURSELF !
2013-03-15 08:04
爱电脑的小白
Rank: 2
等 级:论坛游民
帖 子:40
专家分:65
注 册:2013-3-6
得分:0 
对啊   最后边那个字符是怎么回事?

大家好,我是小白。
2013-03-15 14:36
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
因为你没加'\0' 所以输出不确定

DO IT YOURSELF !
2013-03-15 14:40
爱电脑的小白
Rank: 2
等 级:论坛游民
帖 子:40
专家分:65
注 册:2013-3-6
得分:0 
回复 2楼 wp231957
用strlen(xinghao)求出来的值为63,多了4, 都是结尾那个'\0'

大家好,我是小白。
2013-03-15 14:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-400800-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.522903 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved