c 中如何給int型別的變數賦值成以零開頭的整數

2021-03-10 22:03:50 字數 1409 閱讀 4640

1樓:幻の上帝

int型別只是整數,和數學中的定義一樣,不管字首有幾個0,值都相等。

在c/c++中,整版數字麵量權的字首0表示八進位制。所以int a;a = 0908;肯定編譯錯誤,因為9不是八進位制的合法數字。

按lz的要求,應該只是輸出樣式的問題。即使用int儲存,這種也很簡單,只用c/c++標準庫就可以實現,例如c風格的printf("%06d",a);或者利用c++標準i/o的cout<

====

[原創回答團]

2樓:千鋒教育

可以呼叫iomanip庫中

來的setfill和setw方法自來設定int型的前導0。

比如:#include

int main(int argc,char *argv)執行後輸出結果是:03

3樓:匿名使用者

是int的話,是不能你那樣賦值的。

為什麼要0開頭的整數?

可以 std::string str("0908");

std::stringstream ost;

ost<>a;

4樓:80晴天

您好,這種定義是不合法的,你可以把a定義為字串,然後對a賦值0908

string a;

a = 0908";

你剛才說的學號問題使其十九字串實現的~

5樓:匿名使用者

以0開頭的整數是八進位制,你給的例子是不合法的,八進位制的數只能是0-7.

6樓:柯墨

據我所知是不可以的,除非你將a轉為string型別 然後再在前面加個『0』賦給另乙個string型別的b;

7樓:偷心的賊

a=0908是不行的,不過你可以輸出0908,這樣:

a=908;cout<<'0'<

8樓:匿名使用者

你可以使用c++提供的物件導向的設計能力,自己設計乙個類,用於實現你的想法,只要為其提供運算子方面的支援,就能靈活地使用了。

9樓:喜歡黑

0908根本就不是個整數啊,怎麼用int

c++語言中,比如我輸入了乙個int型的變數,然後用什麼方法顯示它是幾位數?然後使他數字對倒

10樓:匿名使用者

int n;

char s[50]=;

cin>>n;

sprintf(s,"%d",n);

int t,len=strlen(s);

for(i=0;i

C語言中,給float型別變數賦值整數1,輸出的是什麼

比如float a 1 其中包含乙個賦值表示式,會自動將整型常量1轉換為浮點型,而後賦值給a,會輸出1.00000 c語言中可以把一整型數賦值給乙個float變數嗎 可以。float f f 12345 自動轉化為 f float 12345 c語言中對變數賦值0x是什麼意思?c語言中對變數賦值0x...

給結構體中的變數賦值,如何給包含結構體變數的結構體變數賦初值

是因為你使用指標時還沒分配記憶體。可以這樣 typedef struct l1 sdt sdt s s.name k1 或者用下面的方法 include 在開頭處包括標頭檔案 sdt s1 sdt malloc sizeof sdt s1 name k1 這兩種方法都行 你的指標變數s1是不是沒有初...

c語言如何讀取c a 中的資料,並賦值到變數

我來給出正解吧 a a a 7 是賦值語句 正確b a 7 b c,a 這是乙個賦值運算子和逗號運算子等組成的語句,因為賦值運算子的優先順序高於逗號運算子,所以相當於 a 7 b c a 而不是a 7 b c,a c int 12.3 4 不能出現小數,非法 d a a 7 c b 賦值運算子的結合...