c语言a与a的区别
⑴ 在c语言中“a”和‘a’的区别是
C语言中没有String的类型,不过是有String这个概念,C语言的字符串也是char类型存储。
C语言中"a"表示一个字符串,在内存中存储为 'a' '\0' 两个字符,大小为2字节。
C语言中'a'表示一个字符,在内存中存储为 'a' 一个字符,大小为1字节。
扩展知识:
在C语言中可以用char类型的指针来存储任意长度的字符串!比如:char * myStr="Hello,C!"。
如果你用char型数组来存储字符串,请注意你的数组的长度要比你将要存储的字符串长度至少大1.
⑵ C语言中!a和a!的区别
1!=1,翻译成人话:1不等于1,这是假的,所以该表达式值为0
!1=1,这句是非法的,没什么好说的
另外a!没这种说法。!单目运算是在变量的前面,!a表示非a
⑶ c语言中,a 和a[] 有什么区别
a[]比a少一维,我具体给你解释下。
几个元素可以组成数组,而几个一维数组可以组成二维数组,如此一直增加维数。
比如说a[0]=2,a[1]=1,a[2]=3,组成一个一维数组,这就是a.但是,你要注意,a不是直接把这些东西都存着的,a只存首地址。
假设定义了一个二维数组a[3][3].这时候a[0],a[1],a[2]就不再是元素了,而代表的是一个有三个元素的一位数组,而此时的a就是一个二维数组。如果感觉这个有点困难没关系,等学习了指针什么的久很好理解这个了。
再说说你给的程序,你是不是在疑问为什么gets()直接给str1 就可以了?还有那个输出函数,为啥只用给str1就可以?
这得给存储方式有关,字符串就是字符的二维数组,gets()需要输入字符串的首地址,这个还算好理解,因为你应该学过了scanf()了,二者差不多,关键是为什么输出函数直接就写了str1呢?printf()之前你学的一般都是(printf("%d",a[1]));这种类型的。这里为啥要填一个地址参数呢?这是因为你前面是%s s代表字符串,字符串本身就是二维的,因此,你当然不能只给他一个单独的元素了,那么,你给了首地址他如何知道你这个字符串是啥呢?因为字符串都是顺序存储的,更重要的是字符串在结尾处有个标志“/0”,因此,你只要给力他首地址,他就知道从哪里开始,从哪里结束了。
纯手打,望~~。
⑷ c语言'a'和"a"有什么区别
1、本质区别
双引号里面的是字符串, 而单引号里面的代表字符。
2、输出区别
str = “a”输出的就是a这个字母;
str = ‘a’输出的测试65
3、底层区别
用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。
(4)c语言a与a的区别扩展阅读:
C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:
子表达式1, 子表达式2, ..., 子表达式n
例如:a + b, c = b, c++
逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。
逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。
⑸ C语言中“a”与`a`有什么区别
这要看a是什么了,如果a是指针变量,那么a代表这个指针变量,*a代表这个指针变量所指向的目标。如果不是指针那么*a不是正确的写法。
⑹ C语言中'a'和a有什么区别
引号引起来说明是字符。
不因起来说明是变量名。
printf("%c",a);
printf("%d",'a');
比较两者的区别。
上面是a的变量内容。
而下面是a的ASCII码,97.
⑺ c语言中(a)和a有什么区别
一般是没有区别的,尤其是你把他单独提取出来。C语言中()只有两种作用,一个是作为函数或强制转化的标志,如果(a)前面是个函数名的话,那就表示a是作为那个函数的实参。另一个是作为运算符,能提高里面的运算优先级,把里面的表达式优先算出来,在这里,单独的(a)与a没有区别。
⑻ c语言字母A和字符A有什么区别
c语言字母A和字符A区别:
性质上:字母A是一个标识符,它可以作为变量名、函数名;而字符A是一个值,它是值为‘A’的字符常量,它的ASCII码为97。
用法上:字母A作为变量可以被赋值,具体值需要和变量类型一致,字母A还可以作为函数名;而字符A是一个常量,不可以被赋值,但是可以把它赋值给其他字符型变量。
⑼ C语言中'a'和"a"有什么区别
1、本质区别
双引号里面的是字符串, 而单引号里面的代表字符。
2、输出区别
str = “a”输出的就是a这个字母;
str = ‘a’输出的测试65
3、底层区别
用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。
(9)c语言a与a的区别扩展阅读:
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。