为什么C语言程序编译正确但不能执行?

为什么C语言程序编译正确但不能执行?,第1张

因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while(m%n!=0),循环结束后最小公约数时n。

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

c++在VC6.0中出现无法执行程序是设置错误造成的,解决方法为

1、VC++6.0上出现提示“无法执行程序”,很可能是创建工程和文件的时候选择错了,注意运行C和C++的是.cpp文件,不是.h。

2、在创建工程的时候根据需要选择Win32 Console Application。

3、只是一些简单的小程序的话,选择C++Source File创建源文件。然后在上面运行程序。

4、首先,需要明白在一个工程文件中,只能有一个main主函数,如果你复制、编写代码的时候有多个主函数,那么就会无法执行程序。

5、最好的方法就是新建一个工程文件,让程序在新工程下创建的源文件中运行。

你的二分法查找的C语言程序有两处问题,我帮你改好了(改动的地方见注释)

#include <stdio.h>

#include <math.h>

void main(){//这里把mian改成main

int a[10]={0,1,6,16,23,56,80,100,110,115}

int low,high,mid,found,n

low=0

high=9

found=0

printf("write a number:\n")

do{

scanf("%d",&n)

getchar()

}while(n<a[0]||a[9]<n)//这里把n小于a[9]改成a[9]小于n

while(low <= high){

mid=(low+high)/2

if(n==a[mid]){

found=1

break

}else if(a[mid]>n)

high=mid-1

else

low=mid+1

}

if(found==1){

printf("this number bit is %d\n",mid)

}else{

printf("NO no %d\n",n)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8131122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存