| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1515 人关注过本帖
标题:我是菜鸟,不懂就问?
只看楼主 加入收藏
Teem
Rank: 2
来 自:广东
等 级:论坛游民
帖 子:54
专家分:36
注 册:2012-12-24
结帖率:87.5%
收藏
已结贴  问题点数:10 回复次数:7 
我是菜鸟,不懂就问?
char a[10]={123456789};
char a[10]={"123456789"};
请问这两个语句有什么不同?

[ 本帖最后由 Teem 于 2012-12-29 23:34 编辑 ]
2012-12-29 23:30
代号215
Rank: 2
等 级:论坛游民
帖 子:40
专家分:80
注 册:2012-11-22
收藏
得分:1 
字符串就要"" 就好比字符输出要''   花括号可要可不要   这些问题还是要楼主多看书  自己思考

好久没把牛皮吹的这么清新脱俗了
2012-12-29 23:35
Teem
Rank: 2
来 自:广东
等 级:论坛游民
帖 子:54
专家分:36
注 册:2012-12-24
收藏
得分:0 
回复 2楼 代号215
char a[10]={123456789};为什么这个也能执行??

                                  ~~~~ 天道酬勤
2012-12-29 23:39
liyg56
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-30
收藏
得分:0 
不懂
2012-12-30 08:51
尹金魁2031
Rank: 3Rank: 3
来 自:河南省南阳市
等 级:论坛游侠
帖 子:156
专家分:162
注 册:2012-12-29
收藏
得分:1 
第一个是数组(好像缺了分号),第二个是字符串数组。
2012-12-30 09:05
lupeifeng123
Rank: 2
等 级:论坛游民
帖 子:74
专家分:47
注 册:2012-12-13
收藏
得分:2 
定义的数组都对,但是它们的意义都是不一样的, char a[10]={123456789}这个数组中的内容是整形数字,数字占两个字节。
                                          char a[10]={"123456789"}这个数组中的内容是字符,字符占一个字节。

一步一个脚印,贵在坚持。
2012-12-30 09:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
这种东西自己做个小实验就搞定了
程序代码:
#include<stdio.h>
int main()
{
    //>f:\c_source\t7\t7\t7.cpp(5): warning C4305: “初始化”: 从“int”到“char”截断
    //>f:\c_source\t7\t7\t7.cpp(5): warning C4309: “初始化”: 截断常量值
    char a[]={123456};
    char b[]={"123456"};
    for(int i=0;i<(sizeof a)/sizeof(char);i++)
    {
        printf("%4d",a[i]);  //11110001001000000  这里打印输出是64 也就是只保留后8位
    }
    printf("\n");
    char c[]={654321};
    for(int k=0;k<(sizeof c)/sizeof(char);k++)
    {
        printf("%4d",c[k]);  //10011111101111110001  这里打印输出是-15 也就是只保留后8位
    }
    printf("\n");
    for(int j=0;j<(sizeof b)/sizeof(char);j++)
    {
        printf("%4c",b[j]);
    }
    printf("\n");
}

DO IT YOURSELF !
2012-12-30 09:24
额外覆盖
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:城市猎人
威 望:6
帖 子:1726
专家分:5757
注 册:2012-9-22
收藏
得分:3 
char a[10]={123456789};//此处会将整数作为ASCII值,将对应的字符保存到数组中,比如你输入{65,66}会保存为AB;此处的123456789我也不知道会是什么!
 char a[10]={"123456789"};//此处是一个字符串
以上是个人猜想然后做了个小实验出来的,说错了不负责啊兄弟!

[ 本帖最后由 额外覆盖 于 2012-12-30 09:33 编辑 ]

我现在所学的一切都是为了游戏!!!为了游戏,加油!加油!努力!
2012-12-30 09:31
快速回复:我是菜鸟,不懂就问?
数据加载中...
 
   



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

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