A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Lxy 中级黑马   /  2014-10-11 12:50  /  970 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、字符串使用注意
#include <stdio.h>
int main()
{
    char name[] = "itcast";
    name[3] = 'H';
    char name2[] = {'a','b'};
    char name3[] = {'a','b','\0'};    /*
    int size = sizeof(name);
    printf("%d\n",size);//size=7;
    */
    printf("%s\n",name );
    printf("%s\n",name2 );//输出内容包括name,值为abitcHst,原因如下图,%s会从数组名name2首地址,开始输出字符,直到遇到’\0’结束
    printf("%s\n",name3 );
    printf("%s\n",&name2[1]);//与占位符匹配的是地址&name2[1],输出结果  为kit.   
    return 0;
}




void test2()
{
    // \0的ASCII码值是0
    char name[8] = "it";//数组长度为8,使用了3个
    char name2[8] = {'i','t','\0'};//字符串
    char name3[8] = {'i','t',0}; //可以,字符串
    char name4[8] = {'i','t'};//不是严格意义上字符串,但是后默认有6个0;
    char name5[] = {'i','t'}; // 注意不是字符串,只能说是普通的字符数组,不能当做字符串使用。
}
void test()
{
    printf("Jack\n");
    char name[10] = "Jack";
    printf("%s\n",name);
    printf(name);// 把数组传入只是一个警告
    printf("ewewf"); // 默认参数为常量   

}
2、字符串函数strlen使用注意

/*
strlen函数: 计算字符串长度
1.计算的是字符数,并不是字数
2.计算的字符不包括\0
*/
//strlen函数声明在string.h文件中
#include <string.h>
#include <stdio.h>
int main()
{
    //int size = strlen("haha");
    //printf("%d\n",size );
    /*
     char name[] = "itcast";
    int size = strlen(name);
    printf("%d\n",size );// 6
    char name2[] = "it\0cast";
    int size2 = strlen(name2);
    printf("%d\n",size2 );// 2
     */
    char name[] = "itcast";
    char name2[] = {'0','6'};
    int size2 = strlen(name2);
    printf("%d\n",size2 );// 8,因为strlen从name2地址开始数字符,直到遇到\0结束
char name[] = "itcast";

    printf("%c\n",name[2]); //输出为a



}


3、二维数组的使用
char names[2][10]={"jack","rose"};
    printf("%s\n",names[0]); //输出jack
    printf("%c\n",names[0][3]);//输出k,注意不用地址符&
    char name2[2][10]=
    {
        {'j','a','c','k','\0'},
        {'r','o','s','e','\0'}

    };
代码的编写注意点:可读性 —> 性能 -> 精简(重构)不是代码越少,性能越高



评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马