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這句就是非法的,因為賦值操作=只有變數才行。