C語言中自動隱式轉換與類型強制轉換實例分析
更新時間:2014年07月24日 10:42:52 投稿:shichen2014
這篇文章主要介紹了C語言中自動隱式轉換與類型強制轉換實例分析,需要的朋友可以參考下
本文通過一個C程序實例對C語言中自動隱式轉換與類型強制轉換的注意點進行深入分析,詳情如下:
先看一個C程序:
#include<stdlib.h> #include<stdio.h> #include<conio.h> double proc(int q){ int n; double sum,t;//本例的關鍵就在這幾個變量的類型上 sum = 2.0; while(sum<=q){ t=sum; //sum = sum+(n+1)/n;//自動隱式轉換 sum =sum +(double)((n+1)/n);//類型強制轉換 n++; } return t; } void main(){ system("C"); printf("%f\n",proc(10)) }
分析:
當我們看到sum = sum+(n+1)/n;這樣的語句總會不假思索的對n這個變量來個強制轉換,但是c語言書上又有這么一句話”當一個低精度的數(shù)據(jù)類型和一個高精度的數(shù)據(jù)類型運算時,運算結果為高精度類型?!斑@個時候不要迷茫,這只是強調結果。為了讓其他人看懂我們要對數(shù)據(jù)做些什么,最好對它進行強制轉換。在這里,所謂低精度到高精度的自動隱式轉換實際上還是強制的類型轉換。
相關文章
linux環(huán)境下C++實現(xiàn)俄羅斯方塊
這篇文章主要為大家詳細介紹了linux環(huán)境下C++實現(xiàn)俄羅斯方塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06求32位機器上unsigned int的最大值及int的最大值的解決方法
本篇文章是對求32位機器上unsigned int的最大值及int的最大值的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05