A. c语言中可以给指针变量赋值常数吗
C语言中可以给指针变量赋值常数,赋值方法为:
1、首先打开Microsoft Visual C++软件,单击“文件”菜单->“新建”,新建一个文件,文件名后缀为.c。
B. c语言 doublex;scanf("%lf",&x);不可以赋值给x变量的常量是
选择答案A,因为题目中的A选项“abc”是一个字符串所以说A选项不能够正确的赋值给x变量。所以题目的答案选择的是A选项。
选项解析:B选项虽然是一个整形的数,但是可以赋值给x变量,发生了数据类型的转换,C选项输入的是一个字符,那么字符有一个ASCII码值,相当于将‘A’的ASCII码值赋值给x变量。
C选项和A选项一样都可以赋值然后类型的转换就可以完成赋值。所以选择答案A。
(2)c语言不能给一个常量赋值扩展阅读:
scanf函数在使用时可以不使用预编译命令(#include <stdio.h>。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
函数原型:intscanf(constchar*restrictformat,...);
scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。
scanf使用注意:
1、空白字符会使scanf函数在读操作中略去输入中的一个或多个空白字符。
2、一个非空白字符会使scanf函数在读入时剔除掉与这个非空白字符相同的字符。
3、可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
4、scanf函数中没有类似printf的精度控制。
5、在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
参考资料来源:网络-scanf
C. 为什么c语言中,数组名是一个地址常量,不能对它进行赋值运算
在最终的汇编结果中,数组名只是一个标号,对应一个地址,在程序中使用数组就是要替换成这个起始地址,因此作为标号本身是不可以修改的,也不是一个变量。
用数组名进行计算就是用数组起始地址计算,但不可以给数组名重新赋值
D. 谁帮我解决下这个C语言程序哪里出问题了,为什么不能正确赋值给这些字符型常量
C语言中在输入后要回车确定,如果下一个输入语句是字符型的话,系统就自动把回车赋值给了那个字符,需要用一个语句把回车接收,不要使他赋值到下一个语句
printf("请输入性别,男用F女用M:\n");
scanf("%c",&sex); getch(); //这是一个函数,作用是接收一个字符
printf("请输入饮食习惯,好用Y不好用N:\n");
scanf(" %c",&diet); getch(); //这样改了就应该没错了
printf("请输入运动习惯,好用Y不好用N:\n");
scanf(" %c",&sport);
E. 在C语言中,“不能将一个常量赋值给一个表达式”这句话该怎么理解
所谓赋值,例如int
x
,y;
x=6;
x是有地址,在内存中是有空间的,你可以用&x来取x的地址,但是表达式,例如x+y,这个整个表达式,是没有地址的,所以不能给它赋值。
F. 为什么不能将字符串常量赋给一个字符变量
一,字符串是一个串, 至少有一个字符, 且字符串是以'\0'结尾的, 所以在内存空间中至少需要2个字节的空间。
二,而字符是仅仅是单个的字符,在内存空间中占一个字节大小。
三,字符串常量也是字符串, 只不过是存在文字常量区,只读而已。
综上,可知不可以将字符常量赋给一个字符变量。
所以字符变量只能存单个字符,我们可以用字符数组来存放字符串,也可以把字符串的首地址赋给指向char型的指针变量。
比如:
char str[]="hello world";
或者
char *ptr = "hello world";
都可以。
补充回答:
char c;
c='a';
这样是可以的.
因为'a'表示一个字符.
而如果你这样:
char c;
c = "a";
就不对了, 因为这时"a"表示的不是一个字符, 而是表示一个字符串, 字符串有一个字符a, 然后'\0'结束.
要注意字符和字符串的区别:
单引号括起来的是一个字符,如'a', 'b'等.
双引号括起来的就是一个字符串, 如 "hello", "abc", "a"等等.
G. c语言 我为什么不能直接用 = 把一个字符变量的值赋值给另一个字符变量
因为宏是一个简单替换,所以c语言中用宏定义一个字符常量(一个字母)可以赋值给字符变量。实质是在编译之前会把宏替换掉,然后再编译。
例如:
#define a 5
void main()
{
int num=a;
}
在编译之前a已经被替换成5了,所以就可以赋值给num。
H. C语言中 “常数” 能够‘强行’赋值吗
你好
可以的哦
不过这里的常数
不能是数字哦
只能是标示符
格式如下:
#define
x
1
或者
x=1
如有疑问
请追问
I. 1.C语言中,数组名是一个不可变的()量,不能对它进行加、减和赋值运算
C语言中,数组名是一个不可变的指针常量,不能对它进行加、减和赋值运算。
在C语言中规定,数组名是代表该数组的首地址且符合标识符书写规定的变量标识符。不能对它进行加、减和赋值运算。整个数组是以首地址开头的一块连续的内存单元。如有字符数组char c[10],设数组c的首地址为2000,也就是说c[0]单元地址为2000。则数组名c就代表这个首地址。
(9)c语言不能给一个常量赋值扩展阅读:
数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。数组元素的一般形式为:数组名[下标] 其中的下标只能为整型常量或整型表达式。数组名的书写规则应符合标识符的书写规定。数组名不能与其它变量名相同。
如为小数时,C编译将自动取整。例如,a[5],a[i+j],a[i++]都是合法的数组元素。数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量, 而不能一次引用整个数组。
J. c语言中数组为什么不能整体赋值
因为是这样:比如int a[4]={1,2,3,4};那么系统就会分分配一块内存来存这个数组,而这块内存的地址就是a,a是一个常量,常量不能被赋值。赋值操作只有变量才行。
比如
int a[4]={1,2,3,4},b[4]; 声明之后,a和b都是常量了,b=a这句就是非法的,因为赋值操作=只有变量才行。