第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

請問如何使用atof函數(shù),麻煩幫忙寫一下這塊的格式謝謝!

請問如何使用atof函數(shù),麻煩幫忙寫一下這塊的格式謝謝!

比如一個(gè)數(shù)組n[100]中存儲了如n[0]=2134n[1]=kjsg.....得數(shù) 那么我想將其中所有數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn)型數(shù)據(jù),并存儲到另外一個(gè)數(shù)組,
查看完整描述

2 回答

?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

首先你要了解atof的prototype:
double atof(const char *str);
和atoi一樣,函數(shù)的參數(shù)類型必須是char *,
而如果字符串里面沒有可以轉(zhuǎn)換的數(shù)字,
比如"abcd"的話,那么atof( "abcd" )將返回一個(gè)任意值。
而對于atoi,返回0

特別對于atoi,如果字符串為“0”的話,也會(huì)返回0,
所以不能判斷字符串中是否含有0。
而對于atof,在WIKI里寫到
“If the string is not a valid textual representation of a double, atof will silently fail, returning a random value”
所以更為危險(xiǎn)。

所以不是什么值都可以轉(zhuǎn)化為你要的數(shù)據(jù)類型的,
當(dāng)然在內(nèi)存里都是以0,1儲存的,沒有類型這個(gè)概念,
而我們可以使用各種類型,其實(shí)是編譯器的功勞。

對于atoi和atof,
有新的函數(shù)可以替代
atoi可以用strtol替代,
而atof可以用strtod等替代
strtol比atoi安全,
具體的你可以查他們的用法,我講起來就有點(diǎn)復(fù)雜了

查看完整回答
反對 回復(fù) 2023-03-08
?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
char *s; double x; int i; long l;

s = " -2309.12E-15"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = "7.8912654773d210"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = " -9885 pigs"; /* Test of atoi */
i = atoi( s );
printf( "atoi test: ASCII string: %s\t\tinteger: %d\n", s, i );

s = "98854 dollars"; /* Test of atol */
l = atol( s );
printf( "atol test: ASCII string: %s\t\tlong: %ld\n", s, l );
}


查看完整回答
反對 回復(fù) 2023-03-08
  • 2 回答
  • 0 關(guān)注
  • 168 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號