Tôi đã viết đoạn mã sau .... Nó nên chuyển đổi một chuỗi như "88" giá trị tăng gấp đôi 88 và in nóchuyển đổi chuỗi cho một biến đôi trong C
void convertType(char* value)
{
int i = 0;
char ch;
double ret = 0;
while((ch = value[i])!= '\0')
{
ret = ret*10 +(ch - '0');
++i;
}
printf("%d",ret);//or %f..what is the control string for double?
}
//input string :88
Nhưng nó luôn luôn in 0. ..Nhưng khi tôi thay đổi loại ret để int ... nó hoạt động tốt ... khi loại là nổi hoặc đôi, nó in số không ... vậy tại sao tôi nhận được kết quả này mơ hồ?
Không có những điều như một String trong C ;-) – Aidanc
' "% f"' hoặc ' "% g'"(hoặc' "% e" 'cho định dạng hàm mũ) được sử dụng cho cả '(float)' và '(double)'. – geekosaur
chỉ cần quên đi tiêu đề .. :) –