C语言与C++的不同之处总结

一、C语言认为char属于int,char型的数值计算实质是ASCII码

二、C语言没有布尔类型,除0位假外,其余均为真

三、C语言没有string类型

/*在C语言中并没有char类型的常量(但是在C++中却有,字符常量都是char类型),其实是用int表示char,字符型与整型相比只是更加节省内存。
有符号的字符表示-128~127,无符号字符表示0~255。char相当于signed char还是unsigned char取决于编译器。
字符型数据在内存中是以二进制形式存放的,并不是真正的把一个字符存进内存里。在对字符型数据进行相加减运算的时候,系统会首先将char型数据以隐形的方式转化为int型数据再进行相加减运算。因此,由字符型数据在内存的存储方式来看,字符型数据在做数字运算时实际上是对字符本身对应的ASCII码进行相应的数值运算。

--------------------- 
作者:zhjqxy 
来源:CSDN 
原文:https://blog.csdn.net/zhjqxy/article/details/52975140 
版权声明:本文为博主原创文章,转载请附上博文链接!*/

#include<stdio.h>

int Index(char* S,char* T,int pos){
	int i=pos;
	int j=1;
	int k=S[0];
	//printf("%d\n",k);
	while(i<=S[0]&&j<=T[0]){
		if(S[i]==T[j]){
			++i;
			++j;
		}else{
			i=i-j+2;
			j=1;
		}
	}
	if(j>T[0])
		return i-T[0];
	else
		return 0;
} 

int main(){
	char a[5]={5,'I','k','e','y'};/*既然char和int本质都是整数,为什么还要作区分呢?
因为字符的个数相对较少,因而char型变量的存储单元可以比int型变量的存储单元小。其实就是提出一种char型变量专门存储字符,方便程序员的数据选择。*/
	char b[4]={4,'k','e','y'};
	int p=Index(a,b,1);
	printf("%d\n",p);
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/zhao2chen3/article/details/83189360