⑴ c语言程序运行不了,哪位大神帮忙解个惑呀
你的二分法查找的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: ");
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 ",mid);
}else{
printf("NO no %d ",n);
}
}
⑵ C语言编程的时候出现“程序已停止工作”的原因有哪些
最常见的原因:程序发生了空指针调用。x0dx0a如果你刚入门,请检查:x0dx0ascanf("%d",&i); 有没有加上“&”号,scanf必须在变量前加“&”(取地址符)。x0dx0a如果没有加&, scanf会把变量当作地址来用,而你的程序中又没有以变量为地址的变量,操作系统不允许程序读写程序规定范围以外的空间。出于安全起见,操作系统将其紧急中止。就发生了“***.exe已停止工作”的效果。x0dx0a如果你正在学习数组,请检查:x0dx0a数组是否越界。定义为int a[10]的数组,如果写a[10]=0; 相当于对a数组里的第11个元素赋值。事实上,a数组里并没有第11个元素。如果该元素的位置指向一个程序以外的内存,操作系统同样会果断将其终止。x0dx0a如果你正在学习指针,请检查:x0dx0a指针是否赋值;x0dx0a在给指针赋值时,有没有在非指针变量前加取地址符“&”;x0dx0aint * p = &i; //正确!x0dx0aint * p = i; //错误!x0dx0a这与在sccanf里没有加上“&”号的原因大致相同。x0dx0a指针问题属于程序逻辑错误,很多时侯编译器只会给你一个警告。要注意警告发生的位置自己是否有把握。如果你多次编译或忽视编译警告而进行链接,编译器会认为你对这些警告是有把握的,完全地信任了你,也就没有警告了。
⑶ 我的c语言程序为什么会执行不了
程序语法上没有问题。如果你的编译器不支持汉字编码,则用 英文 ASCII 字符为好。
另外,注意输入数据 的 格式,格式不对会执行不了。
假定用英文:
#include <stdio.h>
int main(void)
{
char cType=0,dType=0;
float amount=0,rate=0;
printf("input c f c\n");
scanf("%c %f %c",&cType,&amount,&dType);
switch(dType)
{ case '1': rate = 1.5; break;
case '2': rate = 2; break;
case '3': rate = 3; break;
case '4': rate = 3.2; break;
case '5': rate = 3.5; break;
default: printf("no such dType\n"); return -1;
}
if(cType=='V') rate = rate *1.1;
if(amount>=100000) rate = rate *1.2;
printf("rate:%.2f%%\n",rate);
return 0;
}
输入: V 12345 3
输出: rate:3.30%
输入: 3 12345 3
输出: rate:3.00%
⑷ 为什么用c语言写的程序不能运行
C语言程序不能直接运行
必须经过编译 链接 两个步骤
并且没有错误情况下才可以运行的
编译 和链接过程中都可能出错
而且错误多种多样
需要根据错误提示 修改源程序或者设置 才可以通过。
⑸ 为什么c语言无法运行程序
首先,检查一下程序里有没有中文字符。
其次,用#include"stdio.h"这种方式调用需要.h文件在当前路径下。我个人认为改成#include<stdio.h>比较好。
再其次,没有getch这个函数,只有getchar,建议你拿不准的时候网络。
语法的问题基本就是这些,说说语义,你的a没复制直接printf没有意义。
忘说了,还要在最后加上return 0;,虽然不加可能也没什么关系,编译器可能会自己给你加,但是还是加上好。
⑹ c语言程序无法运行
编译选项里找找,必须编译成release版本才能在其他机器运行。只有release版本对应的dll才是随windows一起发布的,调试版不会随windows发布
⑺ C语言为什么没错误还执行不了
c语言的错误分为两种,一种是运行时错误,一种是逻辑上的错误。逻辑上的错误不好判断,执行不了肯定是出现逻辑上的错误的。
⑻ 编写c语言代码是无法执行程序是怎么回事
C语言代码本身是不能被执行的,必须要进行编译后才能产生可执行文件。
C语言编译的过程中会自动产生两个文件,其文件后缀分别是.o和.exe。
.o是编译文件,用于减小更改程序后再编译时的时间。
.exe 是可执行文件,在Windows系统下,只有.exe才是可以执行的程序。
如果在编译后没有产生对应的.exe文件就代表程序代码出现问题,未通过编译。
⑼ 为什么C语言程序编译正确但不能执行
因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while(m%n!=0),循环结束后最小公约数时n。