精华内容
下载资源
问答
  • C语言单引号和双引号的区别

    千次阅读 2021-05-18 09:44:21
    C语言单引号和双引号的区别导语:C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面我们来看看C语言单引号和双引号的`区别,希望...

    C语言单引号和双引号的区别

    导语:C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面我们来看看C语言单引号和双引号的`区别,希望对大家有所帮助。

    最近的C语言课在教字符串,貌似N多同学搞不清楚单引号和双引号的区别,有人还以为在C语言里用哪个都可以...其实C语言中的单引号和双引号含义是一点也不一样滴...

    看别人讲指针与数组时也有点弄不清sizeof一个双引号括起来的数组竟然值会+1:如

    char a[]="123456";

    sizeof(a)的值为7

    1、含义不同。

    用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。

    而用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针。

    2、大小不同。

    用单引号引起的一个字符大小就是一个字节。

    而用双引号引起的字符串大小是字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符'\0'。

    展开全文
  • c语言中单引号和双引号的区别引导语:单引号和双引号都可以作为字符串的开始符和关闭符,并且只能‍同一种或者双引号来定义开始和结束。以下是百分网小编分享给大家的c语言中单引号和双引号的区别,欢迎阅读!问题:...

    c语言中单引号和双引号的区别

    引导语:单引号和双引号都可以作为字符串的开始符和关闭符,并且只能‍同一种单或者双引号来定义开始和结束。以下是百分网小编分享给大家的c语言中单引号和双引号的区别,欢迎阅读!

    问题:

    从c++文件中将std:string转换为char*后,返回包含IP地址的char*,需要将该字符串char*中的.IP地址提取出来;

    解决办法:

    1. 解决思路:

    IP地址最长为12字符+3句点=15字符,一般性表示为192.168.111.111;

    可以从第一个字符开始解析,当不是'.'时,将所有字符保存下来,然后把所有保存下来的字符转换为16进制就可以了;

    2. 程序如下:

    复制代码 代码如下:

    typedef struct {

    char addr_ipv4[4];

    } IPADDR_IPV4;

    #include

    // Function: To extract HEX value of IP address from string expression.

    IPADDR_IPV4 parse_IPString(const char *str, u8 strlen) {

    IPADDR_IPV4 ipv4;

    char tmpBuf[4] = {0};

    u8 k;

    u8 inx = 0;

    u8 j = 0;

    // Dprintf("The ch_ip is:%sn", ch_ip);

    for (k=0; k

    if (str[k] != '.') {

    // Dprintf("k-inx: %dn", k-inx);

    memcpy(&tmpBuf[k-inx], &str[k], 1);

    }

    else {

    inx = k + 1;

    // Dprintf("inx: %d, tmpBuf: %sn", inx, tmpBuf);

    ipv4.addr_ipv4[j++] = strtol(tmpBuf, NULL, 10);

    memset(tmpBuf, 0, sizeof(tmpBuf));

    continue;

    }

    // Dprintf("tmpBuf: %sn", tmpBuf);

    ipv4.addr_ipv4[j] = strtol(tmpBuf, NULL, 10);

    }

    // Dprintf("ipv4 is: ");

    // for (k=0; k

    // Dprintf("%d", ipv4.addr_ipv4[k]);

    // }

    // Dprintf("n");

    return ipv4;

    }

    应用如下:

    复制代码 代码如下:

    char* ch_ip = NULL;

    IPADDR_IPV4 ipv4Addr;

    ch_ip = (char*)malloc(16);

    memset(ch_ip, 0, 16);

    // parse IP address

    ch_ip = getIPAddr();

    // convert IP address from string to HEX expression

    ipv4Addr = parse_IPString(ch_ip, strlen(ch_ip));

    3. 注意事项:

    原来进行字符比较的时候,用的是if (str[k] != ".")而不是if (str[k] != '.'),结果一直不对。

    后来反复 查找原因,才知道单引号''和双引号“”的区别:

    (1)。含义不同。

    单引号引起的一个字符代表一个整数,整数值对应于该字符在ASCII字符集中的序列值;

    双引号引起的都是字符串,哪怕只有一个字符也是字符串,双引号引起的一个字符代表一个指向无名数组起始字符的指针;

    比如:'.'代表十进制46,十六进制0x2E;

    而"."代表指向起始字符为"."的某数组的指针;

    (2)。大小不同。

    单引号引起的一个字符大小就是一个字节;

    双引号引起的一个字符大小是两个字节,因为双引号引起的字符串会在字符串的末尾添加一个0x00作为字符串的结束标识。

    【c语言中单引号和双引号的区别】相关文章:

    展开全文
  • 后来反复 查找原因,才知道单引号''和双引号“”的区别: (1)。含义不同。单引号引起的一个字符代表一个整数,整数值对应于该字符在ASCII字符集中的序列值; 双引号引起的都是字符串,哪怕只有一个字符也是字符串...

    问题:从c++文件中将std:string转换为char*后,返回包含IP地址的char*,需要将该字符串char*中的IP地址提取出来;

    解决办法:1. 解决思路:IP地址最长为12字符+3句点=15字符,一般性表示为192.168.111.111;

    可以从第一个字符开始解析,当不是'.'时,将所有字符保存下来,然后把所有保存下来的字符转换为16进制就可以了;

    2. 程序如下:

    typedef struct {

    char addr_ipv4[4];

    } IPADDR_IPV4;

    #include

    // Function: To extract HEX value of IP address from string expression.

    IPADDR_IPV4 parse_IPString(const char *str, u8 strlen) {

    IPADDR_IPV4 ipv4;

    char tmpBuf[4] = {0};

    u8 k;

    u8 inx = 0;

    u8 j = 0;

    // Dprintf("The ch_ip is:%s\n", ch_ip);

    for (k=0; k

    if (str[k] != '.') {

    // Dprintf("k-inx: %d\n", k-inx);

    memcpy(&tmpBuf[k-inx], &str[k], 1);

    }

    else {

    inx = k + 1;

    // Dprintf("inx: %d, tmpBuf: %s\n", inx, tmpBuf);

    ipv4.addr_ipv4[j++] = strtol(tmpBuf, NULL, 10);

    memset(tmpBuf, 0, sizeof(tmpBuf));

    continue;

    }

    // Dprintf("tmpBuf: %s\n", tmpBuf);

    ipv4.addr_ipv4[j] = strtol(tmpBuf, NULL, 10);

    }

    // Dprintf("ipv4 is: ");

    // for (k=0; k

    //  Dprintf("%d", ipv4.addr_ipv4[k]);

    // }

    // Dprintf("\n");

    return ipv4;

    }

    应用如下:

    char* ch_ip = NULL;

    IPADDR_IPV4 ipv4Addr;

    ch_ip = (char*)malloc(16);

    memset(ch_ip, 0, 16);

    // parse IP address

    ch_ip = getIPAddr();

    // convert IP address from string to HEX expression

    ipv4Addr = parse_IPString(ch_ip, strlen(ch_ip));

    3. 注意事项:原来进行字符比较的时候,用的是if (str[k] != ".")而不是if (str[k] != '.'),结果一直不对。

    后来反复 查找原因,才知道单引号''和双引号“”的区别:

    (1)。含义不同。单引号引起的一个字符代表一个整数,整数值对应于该字符在ASCII字符集中的序列值;

    双引号引起的都是字符串,哪怕只有一个字符也是字符串,双引号引起的一个字符代表一个指向无名数组起始字符的指针;

    比如:'.'代表十进制46,十六进制0x2E;

    而"."代表指向起始字符为"."的某数组的指针;

    (2)。大小不同。单引号引起的一个字符大小就是一个字节;

    双引号引起的一个字符大小是两个字节,因为双引号引起的字符串会在字符串的末尾添加一个0x00作为字符串的结束标识。

    在本人的程序中正确取到了IP地址。

    问题解决。

    展开全文
  • C语言中的单引号和双引号的区别首先肯定地说,二者是有区别的,不是说用谁都一样。1、实质区别,代表的含义不同'A'代表的是一个整数,而且这个整数对应的是编译器所采用的字符集中的字符序列对应的数值。所以'A'跟...

    C语言中的单引号和双引号的区别

    首先肯定地说,二者是有区别的,不是说用谁都一样。

    1、实质区别,代表的含义不同

    'A'代表的是一个整数,而且这个整数对应的是编译器所采用的字符集中的字符序列对应的数值。所以'A'跟ASCII中的65意义是相同的。

    2、占用的内存空间大小不同1 # include 

    2

    3 using namespace std;

    4

    5 int main(int argc, char const *argv[])

    6 {

    7     char str1 = 'A';

    8

    9     char str2 = "A";

    10

    11     cout<

    12

    13     return 0;

    14 }

    大家猜一猜输出的str1的大小是多少?str2输出的大小是多少?

    ????????????????????????????

    不用猜了,为啥,因为编译不了啊。怎么会编译不了?因为编译器报错了。

    看出了因为啥了吗?我英文差,估计应该是说第9行,定义的一个字节存不下,建议你定义两个字节,就是char str2[2]来存放"A"。明明"A"应该占用一个字节啊?为啥要给他分配两个字节的空间呢?

    因为这里系统会在字符串的尾端默认添加一个二进制为0的字符'\0',其实它就是一个转义字符。

    展开全文
  • C语言中单引号与双引号的区别

    千次阅读 2021-05-18 11:09:03
    C语言中单引号与双引号的区别单引号和双引号在C中的意义完全不同,包围在单引号中的一个字符只是编写整数的另一种方法。这个整数是给定的字符在实现的对照序列中的一个对应的值,即ASCII码值。以下是小编为大家搜索...
  • 单引号引起来的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。因此,对于采用ASCII字符集的编译器而言,'a'的含义是0141(八进制)或者97(十进制)严格一致。 用双引号引起来...
  • 一直对于单引号和双引号有些混淆,本节讨论一下单引号和双引号的问题。ide1、基本知识spa一、C语言中单引号用来表示字符字面量指针二、C语言双引号用来表示字符串字面量blog好比:'a'表示字符字面量,在内存中占1...
  • 引号和双引号C 语言中的单引号用来表示字符字面量C 语言中的双引号用来表示字符串字面量'a' 表示字符字面量,在内存中占用 1 个字节,'a' + 1 表示 ASCII码加 1 ,结果为 b"a" 表示字符串字面量,在内存中占用 2 ...
  • c语言单引号的用法指导

    千次阅读 2020-12-22 05:21:01
    c语言单引号的用法指导C语言中用单引号引起的一个字符实际上代表一个整数,...单引号和双引号在C中的意义完全不同,包围在单引号中的一个字符只是编写整数的另一种方法。这个整数是给定的字符在实现的'对照序列中的...
  • c语言中的单引号用来表示字符字面量c语言中的双引号用来表示字符串字面量例如:'a'表示字符字面量,占1个字节,'a' + 1表示 'a'的ascii码加1,结果为'b'"a"表示字符串字面量,占两个字节,"a" + 1表示指针运算,结果...
  • C语言中如何正确打印单引号和双引号(字符常量) 编译器 vc++ 2010 最近对C语言中最基本的字符常量产生了一些疑惑,网上了查了查大家说的不太一样,于是自己专门验证了一下。 一、转义字符的方式 由于单双引号都是...
  • C语言中ACSII码字符单引号'和双引号"在程序中经常出现,很简单,但却是十分重要的语法标点符号,初学者容易混淆使用。单引号在字符常量时使用,表示单个字符。例如:char c;c = 'a';c = '1';c = 'A';当在单引号中...
  • 我想知道单引号C语言的具体作用

    千次阅读 2021-05-18 13:29:29
    \n",注意C语言里字符串要用双引号包起来,所以这里面的双引号不能丢。你把"Hello World!\n"给了printf(), 那按我们的理论printf()会实现一种功能,它的功能是啥? 运行程序! 看到了吧,它在屏幕上给你“输出”了...
  • 单引号实验1#include #include int main(int argc, char const *argv[]){char mask[1];memset(mask, 0, 1);mask[0] = 1;printf("%c\t%d\n",mask[0],mask[0]);mask[0] = '1';printf("%c\t%d\n",mask[0],mask[0]);mask...
  • 请求中插入单引号和反斜杠。getParameter目前,我有这个String message = request.getParameter("message");insert = "INSERT INTO campaign (cid, uid, sender_id, content, dcs, Starttime, endtime, statu...
  • //双引号奇偶标志 while ((len = getline()) > 0 ) { t=0; while(t ) { if( line[t] == '[') { brace++; } if( line[t] == ']') { brace--; } if( line[t] == '{') { bracket++; } if( line[t] == '}') { bracket--;...
  • PHP的单引号和双引号效率分析发布于 2014-10-09 13:35:55 | 63 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。...
  • C语言常量中字元与字串 除了单引号双引号的区别外,还有什么不同。以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!C语言常量中字元与字串 除了...
  • 单引号起到的作用就是就该字符转化为AS call码 双引号是将包含的字符串每一个都转化为相应的ascall码存储在内存中 #include int main() { char strng[] = "12345"; char x = 1; char x1 = '1'; char x2[] = {1, 2, 3...
  • 通过前面《PHP数据类型》的介绍我们知道,可以使用单引号和双引号来定义字符串,实际上在 PHP 中对单引号和双引号的处理是不同的。双引号会解析字符串中的变量,而单引号不会,同时单引号双引号在字符处理上单引号...
  • 刚开始学习C语言时没有注意过这个问题,最近看了狄泰软件的唐老师C进阶视频时发现这里面还有东西需要注意的,下面我讲下,希望对新人有所帮助(这里面讲的内容主要参考狄泰软件的唐老师C进阶教程中的单引号和双引号...
  • 看程序,不说话~程序:printf("%c~~%s~~%d\n", "a","a", "a");printf("%c~~%s~~%d\n", 'a','a', 'a');printf("%c~~%s~~%d\n", ",",",", ",");printf("%c~~%s~~%d\n", ',',',', ',');编译结果:read.c: In function ...
  • 单引号双引号我们知道双引号引起来的都是字符串常量,单引号引起来的都是字符常量。比如:‘a’“a”完全不一样,在内存里前者占1个byte,后者占2个byte。1,‘1‘,“1”。第一个是整形常数,32位系统下占4个...
  • js、html中的单引号双引号及其转义使用在js中对相关字符做判断或取值的时候很多情况下都会用到这些.------在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:IE提示出错后,再漫不经心地改为:结果...
  • 在多种语言中,单引号和双引号是可以等同使用的。因键入双引号要比单引号多按一SHIFT键,我偏好单引号。在用printf显示字符串, 我就自然地用上了单引号来定义格式串,哪知用gcc编译时竟出错了:[xxia@xxq 4Mike]$ ...
  • 14_单引号和双引号

    2021-05-26 21:50:54
    14_单引号和双引号 1、单引号双引号的区别 C语言中单引号用来表示字符字面量;而双引号用来表示字符串字面量; 比如: ‘a’表示字符字面量,在内存中占1个字节,‘a+1’表示’a’的ASCII码加1,结果为’b’ "a...
  • 我只是在.NET或C语言中知道,如果它是单引号,这意味着它是一个字符,而不是一个字符串。11个解决方案957 votesPHP字符串不仅可以通过两种方式指定,而且可以通过四种方式指定。单引号字符串几乎完全“按原样”显示...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,518
精华内容 16,207
关键字:

c语言单引号和双引号

c语言 订阅