Ⅰ 一个c语言问题,编译通过但不能运行
改好了
在下面已经注释
#include
<math.h>
#include
<stdio.h>
#include
<conio.h>
#include
<stdlib.h>
#include
<time.h>
int
go(){
int
t,mo;
t=(int)(4*rand());
mo=t%4;
return
mo;
}
int
test(int
up,int
down,int
left,int
right,int
t1){
switch
(t1){
case
0:
if(up==1){
return
1;
}
case
1:
if(down==1){
return
1;
}
case
2:
if(left==1){
return
1;
}
case
3:
if(right==1){
return
1;
}
}
return
0;
}
void
main()
{
char
mat[12][12];
int
i,t,tgo,x,y,m,n,sum;
int
up=1,down=1,left=1,right=1;
char
s;
srand((unsigned)
time(NULL));
for(m=1;m<11;m++){
for(n=1;n<11;n++){
mat[m][n]=46;
}
}
mat[1][1]=65;
x=0,y=0;
for
(i=1;i<26;i++){
up=1;
down=1;
left=1;
right=1;
//测试四周是否已走过或是边界,是则对应值取0
if(mat[x-1][y]!=46){
left=0;
}
if(mat[x+1][y]!=46){
right=0;
}
if(mat[x][y-1]!=46){
up=0;
}
if(mat[x][y+1]!=46){
down=0;
}
//如果4个方向都不可以通过,结束循环
sum=up+down+left+right;
if(sum==0){
break;
}
//如果生成的方向不可以行走,就再次循环生成新的方向知道可以通过
do{
t=go();
tgo=test(up,down,left,right,t);
}while(tgo!=1);
switch(t){
case
0:
mat[x][y-1]=65+i;
y=y-1;
break;
case
1:
mat[x][y+1]=65+i;
y=y+1;
break;
case
2:
mat[x-1][y]=65+i;
x=x-1;
break;
case
3:
mat[x+1][y]=65+i;
x=x+1;
break;
}
}
for(m=1;m<11;m++){
for(n=1;n<10;n++){
printf("%c",mat[m][n]);///////这里是%c不是%s
}
printf("%c\n",mat[m][10]);////////这里是%c不是%s
}
s=getchar();
}
Ⅱ c语言新手求助~~编译正确,但不能运行
#include<stdio.h>
intmain()
{
inta,i,s,j;
a=1;
i=0;
s=1;
j=1;
while(a*s<=101)//i作为你想输出的结果,在你的代码里用作控制while循环的标志不合适
//因为你的a就是递加的那个数,所以用a来控制
{
i=a+i;
a=a*s+2;//此处a递增的时候应该先转换为正数,然后再自加2
s=-s;
a=s*a;
printf("%d ",a);//你打印一下a看一下就知道循环是否正确
}
printf("1-3+5-7+...-99+101=%d ",i);
return0;
}
我的回答有错误,需要修改一下。
不好意思。
Ⅲ C语言编译好后为什么运行不出结果呢
这段代码有问题:while(1){printf ("Hello/n");}循环语句没有终止条件,循环会一直进行下去,得不到结果。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显着。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
Ⅳ 为什么这个C语言程序成功编译却无法运行
你定义了Y,但没有用,然后%d,要是整型的,你后面是double型的,改一下就好了
Ⅳ 为什么在c语言编好的程序无法运行
信息不是很全。我就关于“C语言”和“运行程序”之间的关系,大概说一说。你可以针对我说的结合你自己的情况比较一下。如果能补充必要的信息更好。
编码者编辑的东西,叫“C源程序"。
“C源程序”必须经过“编译、连接”,生成可执行程序,windows下通常是“.exe"后缀的文件,在linux/unix下,可能就是一个不带后缀的可执行程序文件。
比如:hello.c,在windows下可能生成hello.exe。在linux/unix下,可能生成hello
“编译”和“连接”过程,不能有错误。否则得修改源程序或其它配置,然后重新做一遍。
如果是在一个“集成环境”,或者所谓IDE下,.exe等可执行文件必须是该IDE中可见的,即对应的PATH环境变量包含.exe可执行文件所在的路径。
如果是(4)的情况,请检查一下你的IDE的设置。如果是其它情况,请看看编译和连接过程是否成功。
希望我说明了。有问题继续交流,谢谢。
Ⅵ c语言编程,我编好了!但不能运行!是怎么回事啊
请问你用什么编写了 编写后需要使用编译器编译 编译后会产生exe文件 这个文件才是可执行文件 一个写好的代码只是一个文本 当然不能运行
Ⅶ C语言编的这个程序,为什么编译成功,却无法运行
帮你改了下
#include
<stdio.h>
int
main(void)
{
float
l
=
0.0;
float
q
=
0.0;
float
k
=
0.0;
printf("摇杆长度=");
scanf("%f",&l);
printf("摆角=");
scanf("%f",&q);
printf("行程速比系数=");
scanf("%f",&k);
return
0;
}
这样就没问题了。
编译系统没有自动连接上float
类型库,你要提醒编译器
引入float类型。
Ⅷ c语言编程中编译链接成功却不能运行,请问这是出了什么事
一般是程序有bug,也有可能是一些非法操作,虽然编译通过,但是执行时就会检测出来错误
Ⅸ C语言程序问题,编译成功可却不能运行,这是为什么
这是一个不能再正常的问题了。就像,我拿起了菜刀,为什么切不好薯仔丝一样。
只有熟练的掌握了薯仔丝的切法,方可随心的切出薯仔丝来。
只有熟练掌握了C语言编写某类问题代码的技能,也才能编写出解决这类问题的程序来。
编译成功只能说没有语法错误,就像会用刀切,不会切到手,并不意味着就能切出粗细均匀的薯仔丝来,也就是并不一定能够实现功能。
具体为什么,还需要具体问题具体分析了
Ⅹ 为什么C语言程序编译正确但不能执行
这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:
inta;
scanf("%d",a);
可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏。