簡體   English   中英

將整數轉換為字符串(C)

[英]Converting an Integer to String (C)

我對c相當陌生,並且一直在嘗試弄清楚如何將整數轉換為數字字符串,而這是我到目前為止所擁有的:

long long int inputNum = 0;
char str [20];
int len = 0;

printf("Please enter the integer to be converted,\nit should be no more than 10 digits long: \n");
scanf("%d", &inputNum);
sprintf(str,"%d", inputNum);

len = strlen(str);

printf("%d", len);

return 0;

但是我遇到的一個問題是,如果輸入的int長度超過10個字符,則程序仍會說長度是10。我不確定這是否是數據類型的問題(例如long long int)還是我只是在實現字符串不正確。

您的格式說明符有誤。 %d用於常規int變量。 你的是一個long long int 請改用%lld ,它應該可以正常工作。

另外,您應該注意, int可以存儲多少位數完全取決於平台。 在您的情況下,它可能是32位,大約在-2^312^31的范圍內。 同樣, long long為64位長,具有類似的約束。 我的意思是,您需要為任意數量的數字提供不同的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM