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.交换(两量交换借助第三者)

例1、任意读入两个整数,将二者的'值交换后输出。

main()

{int a,b,t;

scanf("%d%d",&a,&b);

printf("%d,%d ",a,b);

t=a; a=b; b=t;

printf("%d,%d ",a,b);}

【解析】程序中加粗部分为算法的核心,如同交换两个杯子里的饮料,必须借助第三个空杯子。

假设输入的值分别为3、7,则第一行输出为3,7;第二行输出为7,3。

其中t为中间变量,起到“空杯子”的作用。

注意:三句赋值语句赋值号左右的各量之间的关系!

【应用】

例2、任意读入三个整数,然后按从小到大的顺序输出。

main()

{int a,b,c,t;

scanf("%d%d%d",&a,&b,&c);

if(a>b){ t=a; a=b; b=t; }

if(a>c){ t=a; a=c; c=t; }

if(b>c) { t=b; b=c; c=t; }

printf("%d,%d,%d ",a,b,c);}

2.累加

累加算法的要领是形如“s=s+A”的累加式,此式必须出现在循环中才能被反复执行,从而实现累加功能。“A”通常是有规律变化的表达式,s在进入循环前必须获得合适的初值,通常为0。

例1、求1+2+3+……+100的和。

main()

{int i,s;

s=0; i=1;

while(i<=100)

{s=s+i;

i=i+1;

}

printf("1+2+3+...+100=%d ",s);}

【解析】程序中加粗部分为累加式的典型形式,赋值号左右都出现的变量称为累加器,其中“i = i + 1”为特殊的累加式,每次累加的值为1,这样的累加器又称为计数器。

3.累乘

累乘算法的要领是形如“s=s*A”的累乘式,此式必须出现在循环中才能被反复执行,从而实现累乘功能。“A”通常是有规律变化的表达式,s在进入循环前必须获得合适的初值,通常为1。

例1、求10!

[分析]10!=1×2×3×……×10

main()

{int i; long c;

c=1; i=1;

while(i<=10)

{c=c*i;

i=i+1;

}

printf("1*2*3*...*10=%ld ",c);}

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

转载请注明出处我优求知网 » c语言中单引号和双引号的区别

学习

史达祖《绮罗香咏春雨》翻译赏析

阅读(62)

本文为您介绍史达祖《绮罗香咏春雨》翻译赏析,内容包括绮罗香史达祖朗诵,史达祖绮罗香咏春雨。在学习、工作、生活中,大家总免不了要接触或使用古诗吧,古诗有固定的诗行,也会有固定的体式。你所见过的古诗是什么样的呢?下面是收集整理的史达

学习

创卫的标语

阅读(90)

本文为您介绍创卫的标语,内容包括爱卫创卫标语,创卫爱卫标语。在平平淡淡的学习、工作、生活中,大家或多或少都接触过一些经典的标语吧,标语具有非常明显的时代特征和行业特色。你知道什么样的标语才能称之为经典吗?下面是收集整理的创卫的

学习

草木皆兵成语典故

阅读(45)

本文为您介绍草木皆兵成语典故,内容包括草木皆兵成语典故与谁有关,草木皆兵成语典故20字。草木皆兵是什么意思?草木皆兵的主人公是谁?草木皆兵出自哪场战争?下文是整理收集的草木皆兵的成语故事,供大家参考。

学习

有关英语的名言佳句

阅读(41)

本文为您介绍有关英语的名言佳句,内容包括有关英语的经典名言警句,英语的名言警句。无论是身处学校还是步入社会,大家都接触过比较经典的名言吧,名言是指一些名人说的,写的,历史纪录的简洁而含义深刻动人的句子。名言的类型有很多,你都知道吗

学习

《水龙吟·似花还似非花》古诗词鉴赏

阅读(38)

本文为您介绍《水龙吟·似花还似非花》古诗词鉴赏,内容包括水龙吟似花还非花赏析,水龙吟似花还似非花逐句鉴赏。《水龙吟·次韵章质夫杨花词》是宋代文学家苏轼的词作。此词咏杨柳,上阕主要写杨花(柳絮)飘忽不定的际遇和不即不离的神态;下阕

学习

草木皆兵成语解释

阅读(50)

本文为您介绍草木皆兵成语解释,内容包括草木皆兵成语故事,草木皆兵什么意思。在现实生活或工作学习中,大家都接触过很多优秀的成语吧,成语是中华文化的一大特色,也是中华文化的精华,为了帮助大家积累更多经典成语,以下是为大家收集的草木皆

学习

教师远程网络研修总结

阅读(42)

本文为您介绍教师远程网络研修总结,内容包括远程研修2.0研修总结,远程培训研修总结。强化科技教师的科学素养,开拓教师的发展视野,转变教师的科学教育观念,培养教师的科研能力。下面给大家带来了一些优秀的教师远程网络研修总结(精选30篇),希

学习

激励自己的座右铭锦集

阅读(48)

本文为您介绍激励自己的座右铭锦集,内容包括激励积极向上的座右铭,写一句座右铭激励自己。在日常学习、工作和生活中,大家都听说过或者使用过一些比较经典的座右铭吧,座右铭,是我们用来激励、警戒和提醒自己的格言,并作为自己的行动指南,还在

学习

小狮子爱尔莎课件

阅读(42)

本文为您介绍小狮子爱尔莎课件,内容包括小学课本插图小狮子艾尔莎,小狮子爱尔莎的主题是什么。课件要具有可教性。制作多媒体课件的目的是优化课堂教学结构,提高课堂教学效率,既要有利于教师的教,又要有利于学生的学,所以制作的课件要与课堂

学习

白居易古诗《花非花》赏析

阅读(56)

本文为您介绍白居易古诗《花非花》赏析,内容包括花非花白居易古诗,白居易花非花赏析。《花非花》是唐代诗人白居易所写的一首杂言古诗。这首诗表达对人生如梦幻泡影,如雾亦如电的感慨,表现出一种对于生活中存在过、而又消逝了的美好的人与

学习

2022坐飞机托运行李箱尺寸标准

阅读(653)

本文为您介绍2022坐飞机托运行李箱尺寸标准,内容包括飞机托运行李箱尺寸要求多少寸,2022飞机行李箱尺寸要求。民航,因为票价经济实惠,因此非常受欢迎。与其他航空公司一样,对于登机箱尺寸有着严格的限制。每个航空公司对于飞机随身箱子最大

学习

高中阶段个人发展目标

阅读(83)

本文为您介绍高中阶段个人发展目标,内容包括高中阶段个人发展目标与计划,高中阶段个人发展。高中阶段制定自己的个人目标是势在必行的。及时意识到这一点同时也会促使我们力争上游。下面是为大家整理的高中阶段个人发展目标(通用5篇),供参

学习

空调不制热的原因及空调不制热怎么办

阅读(54)

本文为您介绍空调不制热的原因及空调不制热怎么办,内容包括空调制热24度和制热26度哪个省钱,空调制热和暖风机制热哪个效率高。空调不制热的原因及空调不制热怎么办相信很多人都不清楚,这些问题到来的时候大家是不是很不知所措呢,接下来就

学习

张允和的主要作品是什么

阅读(44)

本文为您介绍张允和的主要作品是什么,内容包括张允和著名的电影作品是什么,张允和全部照片。张允和是著名的“张家四姐妹”中的“二姐”,是中国语言文字专家、汉语拼音的缔造者之一周有光先生的夫人。以下是百分网精心整理的张允和的主要

学习

融资和投资的区别

阅读(44)

本文为您介绍融资和投资的区别,内容包括融资和投资的区别和联系,战略投资和融资的区别。资本运营如同产生知识的殿堂,有两个门可以进入这个迷宫,一个门是投资,另一个门是融资,从投资之门进入会觉得学问越做越深,从融资门进入会觉得学问越做越

学习

征文和论文的区别

阅读(61)

本文为您介绍征文和论文的区别,内容包括征文和论文的区别在哪里,论文征文大赛征稿。无论是在学校还是在社会中,大家总免不了要接触或使用征文吧,征文要求篇章结构完整,一定要避免无结尾征文的出现。相信许多人会觉得征文很难写吧,下面是精心

学习

电脑知识:usb3.0和usb3.1的区别

阅读(59)

本文为您介绍电脑知识:usb3.0和usb3.1的区别,内容包括usb3.0和usb3.1u盘有什么区别,电脑usb3.0和usb3.1接口区别。计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。

学习

USB3.0和2.0有什么区别

阅读(53)

本文为您介绍USB3.0和2.0有什么区别,内容包括usb3.0和2.0有什么区别呢,usb3.0可以插2.0接口吗。如今USB3.0数据接口正变得越来越流行,新推出的笔记本基本会拥有多个USB3.0接口,那USB3.0和2.0有什么区别?下面是为大家准备的USB3.0和2.0区别

学习

论跨文化交际中非语言交际的文化差异

阅读(72)

本文为您介绍论跨文化交际中非语言交际的文化差异,内容包括论跨文化交际背景下的非语言交际,对于跨文化交际中非语言的理解。在个人成长的多个环节中,大家都有写论文的经历,对论文很是熟悉吧,论文是指进行各个学术领域的研究和描述学术研究

学习

茴香与孜然有什么区别

阅读(52)

本文为您介绍茴香与孜然有什么区别,内容包括茴香与孜然有什么不同,茴香粒和孜然粒的区别。一般情况下,茴香粒和孜然粒的外形是很相似的,但是,两者不是同一种调味料,是有一定区别的。那么茴香粒和孜然粒有什么区别呢?下面和滋膳堂调料一起来看

学习

小米平板1和2怎样区别

阅读(50)

本文为您介绍小米平板1和2怎样区别,内容包括小米平板1和2的区别,小米平板1现在还能用吗。小米平板2是小米平板的第二代产品,相对于小米平板,小米平板1和2怎样区别呢?下面为大家整理的相关介绍,希望可以帮助到大家!

学习

速溶咖啡和现磨咖啡的区别

阅读(45)

本文为您介绍速溶咖啡和现磨咖啡的区别,内容包括速溶咖啡和现磨咖啡的区别是什么,黑咖啡粉和现磨咖啡的区别。咖啡的味道香醇又能提神醒脑,为此在日常生活中,越来越受到人们的喜欢,特别是一些白领人士。其实,喝咖啡已经融入到我们的生活中了