1樓:匿名使用者
char c='\376'; /*這裡字元的賦值方式,好奇怪啊我看不懂*/
/轉義字元懂吧 。
表示 c存放的是 0376就是8進位制數(\x表示16進位制),轉成10進位制254,因為char型是從0到127,當超過127時候溢位,比如char c = 128則溢位此時 int c = -128。
類似254在 -128到127的區間 對應的是-2
c語言中字串常量或字元常量是否可以賦值給double型別的變數
2樓:匿名使用者
1)字元常量賦值給double型別變
量,使用強制轉換
double d = (double)'a'; //將'a'的ascii碼值97賦值給d,d=97
2)字串賦值給double型別變數,使用atof函式#incluce//此標頭檔案中包含atof的宣告//...
double d;
char *s = "3.14";
d = atof(s); //atof函式把字串轉換成浮點數
3樓:匿名使用者
字元可以,字串不行。
c語言的一道題目:設x,y均為float型變數,則以下賦值語句不合法的是( )
4樓:同秀梅赤凰
float是一個關鍵字,
float()是函式的用法,所以會出現語法錯誤!
如有疑問請追答,望採納!
5樓:匿名使用者
對於float型變數,在c++裡面沒有定義取模運算,答案是b
6樓:vip_無趣
b%符號兩邊的數須轉為int型的
7樓:匿名使用者
該題應該選擇b答案bai,因du為求餘運算子兩邊的zhi運算元只能dao是整形變數,回不能為float型。。。。
另外替你答分析一下其他選項:
a:++是自增運算子,即x的值先加1後再使用x的值,該值正確。
b:略。。
c:符合運算子, x*=y+8等同於x=x*(y+8),該值也正確,只是會損失精度,x*(y+8)返回的值是double型的,而x定義的為float型。。但不影響正確性。。
d:連續的賦值運算嘛,自動將0轉換為float型賦給x和y,也正確。。。
c語言中為什麼用巨集定義一個字元常量(一個字母)可以賦值給字元變數,
8樓:匿名使用者
1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。
2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:
1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好
3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.
9樓:匿名使用者
因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量(一個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。
例如:#define a 5
void main()
在編譯之前a已經被替換成5了,所以就可以賦值給num。
10樓:匿名使用者
漢字根據編碼方式不同,所佔的大小2~4個位元組不等,漢字賦值給字元變數,只顯示第一個位元組,出問號就不奇怪了
用漢字賦值給字元數陣列然後在顯示的話,一定要考慮編碼方式問題,你的終端支援哪種就選擇哪種,否則亂碼
11樓:匿名使用者
#define namehello "wendy"
#include
#include
void main()
12樓:匿名使用者
c裡面不支援漢子,你用vc++6.0試試,那個可以顯示漢子
c語言中,float型和double型變數如果不指定寬度,應
double與float的區別在於在記憶體中存放資料時佔用的記憶體不一樣,前者8位元組,後者4位元組,也就是前者儲存的小數位數比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999。因為c語言預設輸出小數位數都取...
c語言中怎麼將數字變數轉換成字元變數
int i 10 char a 10 char b itoa i,a,10 這邊標c裡面有沒有返回值的我忘了,如果沒有返回值的 話,a 10 直接就是你要的結果了,自己試試吧,引數肯定對的 樓上的扯淡,強轉都比你這個靠譜 強制轉換 int a char a int n 40 char a n c語言...
在c語言中。結構體變數之間可以相互賦值嗎
可以直接賦值。定義結構體型別,然後用這個型別定義出來的變數就是結構體變數。c語言在相同型別的變數間賦值時是直接記憶體複製的,即將他們的記憶體進行復制,這裡因為同樣結構體變數,屬於同一種變數,所以賦值時是按照他們的記憶體分佈來直接拷貝的。舉例 voidmain stustu1 0,10 stutemp...