c語言中,比如我輸入了int型的變數,然後用什麼方法

2021-03-03 20:40:32 字數 1392 閱讀 4595

1樓:匿名使用者

int n;

char s[50]=;

cin>>n;

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

int t,len=strlen(s);

for(i=0;i

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

2樓:幻の上帝

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

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

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

====

[原創回答團]

3樓:千鋒教育

可以呼叫iomanip庫中

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

比如:#include

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

4樓:匿名使用者

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

為什麼要0開頭的整數?

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

std::stringstream ost;

ost<>a;

5樓:80晴天

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

string a;

a = 0908";

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

6樓:匿名使用者

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

7樓:柯墨

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

8樓:偷心的賊

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

a=908;cout<<'0'<

9樓:匿名使用者

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

10樓:喜歡黑

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

C語言中為什麼已經輸入了includemath h用power還是未定義

math.h為數學函式庫,一些數學計算的公式的具體實現是放在math.h裡,具體有 三角函式 反三角函式 雙曲三角函式 指數與對數 取整 絕對值 標準化浮點數 取整與取餘 等。如果不使用到這些是不需要新增 include的 include double pow double base,double ...

c語言中int型的數超出範圍會是怎樣的

從c語言的內bai 部處理機制來說du,int型數超出zhi範圍 溢位 被認為是一個正 dao常現象,只會產生錯誤的內計算結果或邏輯錯容誤,而不會觸發資料溢位的異常。因此,為了避免因為整數溢位而產生程式邏輯或計算錯誤,程式設計師必須自行檢測可能出現的溢位或者確保不會出現資料溢位的情況。c語言對於in...

設c語言中int型資料在記憶體中佔位元組則

最大值就是 16個二進位制1 1111111111111111 轉換為十進位制 的數值,也就是65535 最小值就是 0 範圍就是 0 65535 0 2的16次方減1,一個位元組8位,兩個16位 int 佔2個位元組 16位 範圍抄為 32768 32767long int 佔4個位元組 32位 ...