C語言,語句 float **a 是什么意思
這是聲明,聲明 a 是變量,它 是指向 “浮點型 指針” 的 一個“指針”。
它不是二維數組。
要變2位數組,要做以下動態分配
int NC=5, NR=3; // 假定 5 列 3 行
int i,j;
float **a;
a = (float **) malloc(sizeof(float *) * NR);
for (j=0;j<NR;j++){
a[j] = (float *) malloc(sizeof(float) * NC);
}
接下來 可用 a[j][i] 了:
for (j=0;j<NR;j++)
for (i=0;i<NC;i++) {
a[j][i] = (j+1)*100.0 + i;
}
for (j=0;j<NR;j++){
for (i=0;i<NC;i++) printf("%g ",a[j][i]);
printf("\n");
}
C語言中float是什么意思
C語言中float浮點型數據類型,FLOAT 數據類型用于存儲單精度浮點數或雙精度浮點數。浮點數使用 IEEE(電氣和電子工程師協會)格式。浮點類型的單精度值具有 4 個字節,包括一個符號位、一個
8 位 excess-127 二進制指數和一個 23 位尾數。
尾數表示一個介于 1.0 和 2.0 之間的數。由于尾數的高順序位始終為
1,因此它不是以數字形式存儲的。此表示形式為 float 類型提供了一個大約在 -3.4E+38 和 3.4E+38 之間的范圍。
定義輸入輸出舉例如下:
擴展資料
float和double的區別:
1.指數和尾數
由于指數是以無符號形式存儲的,因此指數的偏差為其可能值的一半。對于 float 類型,偏差為 127;對于 double 類型,偏差為 1023。可以通過將指數值減去偏差值來計算實際指數值。
2.浮點類型
如果存儲比精度更重要,請考慮對浮點變量使用 float 類型。相反,如果精度是最重要的條件,則使用 double 類型。浮點變量可以提升為更大基數的類型(從 float 類型到 double 類型)。當您對浮點變量執行算術時,通常會出現提升。此算術始終以與具有最高精度的變量一樣高的精度執行。
請問定義語句float sum=sum+1.0 錯在哪里
語句float sum=sum+1.0 提示出現錯誤
錯在變量定義/聲明語句義使用不當
1、按照"先聲明,后使用"的原則,需要先float sum;或者float sum=0;,再寫后面的語句。
2、c語言規定定聲明一個變量并不自動初始化。也就是聲明float sum;后,sum的值還是亂碼,這時如果用sum=sum+1.0,得到的結果仍是亂碼。所以,變量在使用前,一定要初始化,或者直接賦值。
建議把float sum=sum+1.0 改成:
float sum=0;
sum=sum+1;
這樣就沒有問題了。