printf-c++简单问题,求大神解答

问题描述

c++简单问题,求大神解答
代码如下,结果输入了之后完全没有输出,完全不清楚什么状况,求解!!!

#include
#include
#include
#include
float xyz;
float InvSqrt(float x)
{
float xhalf = 0.5f*x;
int i = (int)&x;
i = 0x5f3759df - (i >> 1);
x = (float)&i;
x = x*(1.5f - xhalf*x*x);
return x;
}
float count_1()
{
clock_t s1 = clock();//开始时间
float i = 1 / sqrt(x);
clock_t e1 = clock();//开始时间
printf(""%.2f sn"" ((float)e1 - s1) / CLOCKS_PER_SEC);
return 0;
}
float count_2()
{
clock_t s2 = clock();//开始时间
float i = InvSqrt(x);
clock_t e2 = clock();//开始时间
y = s2 - e2;
printf(""%.2f sn"" ((float)e2 - s2) / CLOCKS_PER_SEC);
return 0;
}
void main() {
printf(""请输入一个值"");
scanf_s(""%f"" &x);
float count_1();
float count_2();
system(""pause"");
}

解决方案

float count_1();
float count_2();
你这是在声明函数,不是调用函数,函数没调用自然没有输出!
count_1(); //这样才是调用函数

解决方案二:
去掉类型float否则是函数声明了,可以用float类型的变量接收函数的返回值
float count_1();
float count_2();
而且楼主InvSqrt这个函数里这句也不对x = (float)&i;
&i是取i的地址是int*类型,没法强转成float类型的赋值给x的

解决方案三:
main函数中调用函数时不用写float

解决方案四:
谢谢谢谢!!!原来是我智障了,又一次展现了自己智商的底线哈哈哈

解决方案五:
main函数可以采用两种标准写法
1.int main(void)
{
return 0;
}
2.int main(int argcchar* argv[])
{
return 0;
}

解决方案六:
谢谢谢谢!!!原来是我智障了,又一次展现了自己智商的底线哈哈哈

时间: 2024-11-08 23:32:24

printf-c++简单问题,求大神解答的相关文章

android开发-请问里面 的strResult如何给主线程用啊,求大神解答,最好简单写下代码

问题描述 请问里面 的strResult如何给主线程用啊,求大神解答,最好简单写下代码 new Thread(new Runnable() { @Override public void run() { Looper.prepare(); // TODO Auto-generated method stub String path = "http://www.shopmanage.com/landlady/spm"; // String path = "http://221.

net-asp.NET 简单生成条形码问题 小弟新手,求大神解答,在线等

问题描述 asp.NET 简单生成条形码问题 小弟新手,求大神解答,在线等 zxing.dll插件已经添加引用,还是一堆错误,以下代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using ZXing.Common; using ZXing; using ZXi

c++ mfc visual-visual studio6.0 mfc程序和控制台程序的简单问题,求大神解答

问题描述 visual studio6.0 mfc程序和控制台程序的简单问题,求大神解答 visual c++6.0中控制台程序的main函数应该放在mfc程序的哪个文件中,成员函数放在mfc的哪个文件中.

c语言取小数问题,急求大神解答!

问题描述 c语言取小数问题,急求大神解答! 程序是#include int main() { float a,b; int n; scanf("%f",&a); n=(1000*a+0.5); b=(n*1.0)/1000; printf("%f",b); return 0; } 输入123.4567 输出是123.457001 输入1234.567 输出时1234.567017 输入12345.67 输出是12345.669922 为什么会这样呢?求大神解

冒泡排序 noj-noj一道冒泡排序,不能通过,求大神解答

问题描述 noj一道冒泡排序,不能通过,求大神解答 题目描述 给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中冒泡排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列. 输入 共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤400,每个元素值范围为 [0,100000) 输出 三个部分 第1部分为两行,第1行输出文字"Source:",第2行给出原始序列: 第2部分,开始输出文字"Bubble Sort:",后续输出简单选择排序

malloc-关于c语言二叉树的问题,求大神解答,急

问题描述 关于c语言二叉树的问题,求大神解答,急 这是一段关于二叉树的代码.*list_from_tree这个函数是用来建立二叉树的,但我不太懂它是如何建立二叉树的,求大神详细解释. #include #include typedef struct tnode Tnode; struct tnode{ Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data); void print_tree(Tnode *tree, i

c语言 c++-c语言求大神解答,一个数组的基础问题

问题描述 c语言求大神解答,一个数组的基础问题 数组的地址是什么?是不是就是数组名,也就是第一个元素的地址,也就是这个数组的首地址? 解决方案 数组名可以当成指向数组首元素的地址使用. 例如:int a[10]; 可以通过: cout<<*a<<endl; //来输出数组a中的第一个元素. cout<<*(a + i)<<endl; //来输出数组中的第i个元素. 下面两个输出的地址值也是相同的. printf("--->%pn",

c语言-C语言版非递归马踏棋盘·死循环了·求大神解答·小弟新手求助

问题描述 C语言版非递归马踏棋盘·死循环了·求大神解答·小弟新手求助 这是出现死循环的代码bool solution(Move move, Pos &beginPos){ if(!move) { printf("solution Failed!"); return false; } int chessBoard[8][8] = {0}; push(move, beginPos); chessBoard[beginPos.mX][beginPos.mY] = 1; int ste

c语言-求大神 解答 为什么 会提示结果错误.我运行了三个编译器 结果都对 为什么提交的时候会这个样子?

问题描述 求大神 解答 为什么 会提示结果错误.我运行了三个编译器 结果都对 为什么提交的时候会这个样子? include #include int main() { int sum=0; char array[1001][20]; int m=0,n; float k=0; int k1=0,i; scanf("%d",&n); for(i=0;i { scanf("%d",&sum);//被除数 scanf("%d",&