C說話中主動隱式轉換與類型強迫轉換實例剖析。本站提示廣大學習愛好者:(C說話中主動隱式轉換與類型強迫轉換實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是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說話書上又有這麼一句話”當一個低精度的數據類型和一個高精度的數據類型運算時,運算成果為高精度類型。“這個時刻不要渺茫,這只是強調成果。為了讓其別人看懂我們要對數據做些甚麼,最好對它停止強迫轉換。在這裡,所謂低精度到高精度的主動隱式轉換現實上照樣強迫的類型轉換。