失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C语言中字母a等于 C语言中’a’和"a"有什么区别? c语言中“!a"是什么意思啊...

C语言中字母a等于 C语言中’a’和"a"有什么区别? c语言中“!a"是什么意思啊...

时间:2019-01-20 01:10:11

相关推荐

C语言中字母a等于 C语言中’a’和"a"有什么区别? c语言中“!a"是什么意思啊...

导航:网站首页 >

C语言中’a’和"a"有什么区别?,c语言中“!a"是什么意思啊

C语言中'a'和"a"有什么区别?,c语言中“!a"是什么意思啊

匿名网友:

1、本质区别双引号里面的是字符串, 而单引号里面的代表字符。

2、输出区别str = “a”输出的就是a这个字母;str = 'a'输出的测试653、底层区别用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

扩展资料:C语言是一个有结构化程序设计、具有变量作用域variable scope以及递归功能的过程式语言。

C语言传递参数均是以值传递pass by value,另外也可以传递指针a pointer passed by value。

不同的变量类型可以用结构体struct组合在一起。

只有32个保留字reserved keywords,使变量、函数命名有更多弹性。

部份的变量类型可以转换,例如整型和字符型变量。

通过指针pointer,C语言可以容易的对存储器进行低级控制。

预编译处理preprocessor让C语言的编译更具有弹性。

匿名网友:

1、本质区别 双引号里面的是字符串, 而单引号里面的代表字符。

2、输出区别 str = “a”输出的就是a这个字母; str = 'a'输出的测试65 3、底层区别 用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

扩展资料: C语言是一个有结构化程序设计、具有变量作用域variable scope以及递归功能的过程式语言。

C语言传递参数均是以值传递pass by value,另外也可以传递指针a pointer passed by value。

不同的变量类型可以用结构体struct组合在一起。

只有32个保留字reserved keywords,使变量、函数命名有更多弹性。

部份的变量类型可以转换,例如整型和字符型变量。

通过指针pointer,C语言可以容易的对存储器进行低级控制。

预编译处理preprocessor让C语言的编译更具有弹性。

...

匿名网友:

a比a少一维,我具体给你解释下。

几个元素可以组成数组,而几个一维数组可以组成二维数组,如此一直增加维数。

比如说a0=2,a1=1,a2=3,组成一个一维数组,这就是a.但是,你要注意,a不是直接把这些东西都存着的,a只存首地址。

假设定义了一个二维数组a33.这时候a0,a1,a2就不再是元素了,而代表的是一个有三个元素的一位数组,而此时的a就是一个二维数组。

如果感觉这个有点困难没关系,等学习了指针什么的久很好理解这个了。

再说说你给的程序,你是不是在疑问为什么gets)直接给str1 就可以了?还有那个输出函数,为啥只用给str1就可以?这得给存储方式有关,字符串就是字符的二维数组,gets)需要输入字符串的首地址,这个还算好理解,因为你应该学过了scanf)了,二者差不多,关键是为什么输出函数直接就写了str1呢?printf)之前你学的一般都是printf("%d",a1);这种类型的。

这里为啥要填一个地址参数呢?这是因为你前面是%s s代表字符串,字符串本身就是二维的,因此,你当然不能只给他一个单独的元素了,那么,你给了首地址他如何知道你这个字符串是啥呢?因为字符串都是顺序存储的,更重要的是字符串在结尾处有个标志“/0”,因此,你只要给力他首地址,他就知道从哪里开始,从哪里结束了。

纯手打,望~~。

匿名网友:

能具体说说吗?我这样只能猜着回答。

比如你a是个表达式,写在别的表达式里,这样防止出现错误,比如:#define a 1024+6int main(){ int b=a*4; printf("b=%d\n",b); getch(); return 0;}你这样写 就是b=1024+6*4=1024+24=1048;但是 如果你写成 #define a (1024+6) 就不会出现错误了,现在就是 b=(1024+6)*4=4120如果你想问的不是这个,就说清楚了。

否则我真心没法答。

...

匿名网友:

1、&a:其含义比较单纯,就是“变量a的地址”。

2、*a:用在不同的地方,含义也不一样。

1在声明语句中,*a只说明a是一个指针变量,如int *a;(2)在其他语句中,*a前面没有操作数且a是一个指针时,*a代表指针a指向的地址内存放的数据,如b=*a;(3)*a前面有操作数且a是一个普通变量时,*a代表乘以a,如c=b*a。

匿名网友:

1 用''对包含的代表字符常量,其值为字符a的ascii码。

2 用""对包含的代表字符串常量,其有两个元素,第一个是a,第二个是结束符'\0'。

于是二者区别可以总结为:1 类型不同,字符和字符串。

2 占用空间不同,前一个是一个字节,后一个是两个字节。

匿名网友:

这个太有区别了!a==b==c 是一个关系表达式,由于运算符"=="具有左结合性,故其运算顺序是:a==b ==c 若a=5,b=5,c=5,则a==b的值为1,而1==c的结果为0a==b,b==c是分别判断a和b以及b和c关系运算 补充,楼上说a==b==c是先执行b==c是错误的,因为C语言中只有赋值运算符和单目运算符具有右结合性,故运算对象b必然先于左侧的"=="结合。

再次补充:这不是赋值的问题,没有赋值运算符,而是关系运算...

匿名网友:

假设int a = 1;那么假设printf("%d",--a);那么是将a减1,然后输出a输出的结果就是:0假设printf("%d",a--);是先输出a,然后执行a-1.输出结果是:1int a = 1;printf("%d\n",a--); // 是先输出a,然后执行a-1.printf("%d\n",a); // 所以这里输出的a是0!而且注意不要把增量运算符或减量运算符放在输出中,比如:int a = 1;printf("%d\t%d\t%d\t%d\n",a,a++,a,a++);输出结果是3 2 2 1你可能疑惑为什么第二个a++不是3呢?因为标准C并没有规定在一个语句中是每执行执行一次增减量运算符后执行增减还是整个语句执行完后完成增减...所以最好不要使用这种方法.可以把语句分开来运算...

问题推荐

如果觉得《C语言中字母a等于 C语言中’a’和"a"有什么区别? c语言中“!a"是什么意思啊...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。