我写c语言不知哪错了
主要内容 { float x,y; scanf("%f",&x); y=2.4*x-1/2; printf("%f",y); } 不知哪里错了。请指教
1/2 这样写会被当成整数的除法,得到的结果是除出来的商(也是一个整数)。 算术上,1/2=0……1(商0余1) 所以你那个-1/2相当于-0。 你可以直接把它写成0.5或者用浮点数的除法来求。 但是还有一点,浮点型文字常量在缺省情况下被认为是双精度(double)型,单精度文字常量由值后面的f或F来标示。 包括2.4*x,最后得出的也是一个双精度数。把它附给一个单精度变量的写法可能编译的时候会出现一个警告。所以最好写成2.4f*x。 综上,可以把 y=2.4*x-1/2; 改成 y=2.4f*x-1.0f/2.0f;
1/2 在2后面加个点就行了,这样系统就会把他按double计算了 1/2.
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>