标题:字符数组
只看楼主
前往企鹅屋
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-10-9
结帖率:100%
已结贴  问题点数:16 回复次数:4 
字符数组
void dm(char* cbottle);
int main()
{
    char cpoke[]="";//why??
    printf("妈妈想给孩子:");
    scanf("%s",&cpoke);
    dm(cpoke);
    return 0;
}
void dm(char* cbottle)
{
    printf("婴儿喝%s\n",cbottle);
}
char cpoke[]="";
这样定义字符数组也可以吗?
搜索更多相关主题的帖子: 字符 数组 void char printf 
2017-10-10 21:35
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:16 
以下是引用前往企鹅屋在2017-10-10 21:35:12的发言:

void dm(char* cbottle);
int main()
{
    char cpoke[]="";//why??
    printf("妈妈想给孩子:");
    scanf("%s",&cpoke);
    dm(cpoke);
    return 0;
}
void dm(char* cbottle)
{
    printf("婴儿喝%s\n",cbottle);
}
char cpoke[]="";
这样定义字符数组也可以吗?

这样看看a会就变成什么样:
#include <stdio.h>
int main()
{
    char a[] = "123456789";
    char b[]="";
    scanf("%s",b);
    printf("%s\n",a);
    return 0;
}
2017-10-11 05:31
前往企鹅屋
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-10-9
得分:0 
b[]的输入对a[]有影响,但不明所以??求解
2017-10-11 09:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用前往企鹅屋在2017-10-11 09:28:03的发言:

b[]的输入对a[]有影响,但不明所以??求解

看看 b和a的地址
2017-10-11 10:57
前往企鹅屋
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-10-9
得分:0 
char b[]="";这种定义会默认给数组b分配4个字节单位,输入多余的字符会覆盖下一个变量a[],b[]中多余的元素覆盖a[]后,a[0]装的数据是b[]中的元素,所以printf("%s",a)后仍输出b[]中剩余的元素。got it!谢谢!
2017-10-11 16:19



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




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

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