编译没有错误但运行不了
因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while(m%n!=0),循环结束后最小公约数时n。
B. 编译器通过了程序却无法运行
你的头文件有错误:修改如下
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "malloc.h"\\此处有修改
typedef struct node
{
int data;
struct node *next;
}NODE;
main()
{
NODE *head=NULL,*q;
int i;
for(i=0;i<10;i++)
{
q=(NODE*)malloc(sizeof(NODE));
scanf("%d",&q->data);
q->next=head;//从表头插入节点
head=q;
}
printf("链表遍历\n");
q=head;
while(q!=NULL)
{if(q->next!=NULL)
printf("%d->",q->data);
else
printf("%d",q->data);
q=q->next;
}
getch();//输入代码
}
C. 编译的C语言程序没有错误就是运行不了怎么回事
编译上只是在语法上没有错误
但是运行的时候不符合逻辑等等的就会出错
就比如楼上说的那种
D. 编译没问题,但运行时怎么会出现错误呢
可能是指针越界,定义的数组不够大,访问了数组以外的数据。
比如定义了char a[10]; 而你的某个循环代码访问了a[20],或者a[-1]之类的。
E. 为什么C语言程序编译正确但不能执行
这哪是编译正确,这是有一个语法错误的意思,这样的程序是无法运行的。
最后一句的语法错了
应该是printf("%4d
%d\n",i,slect[i]);
双引号中间是格式控制字符串,用于控制输出的字符串以及变量的格式,
变量需要放在双引号外头,用逗号分隔。
F. 程序编译过了,但是无法运行出结果是怎么回事
编译过了没错误,说明你的代码语法没错误。运行结果不对,是你的代码逻辑有问题,仔细检查代码逻辑流程是不是不对,调试调试。
G. C语言为什么没错误还执行不了
c语言的错误分为两种,一种是运行时错误,一种是逻辑上的错误。逻辑上的错误不好判断,执行不了肯定是出现逻辑上的错误的。
H. 为什么编译没有错误,运行却有错误
编译没有错误是因为你的程序语法没有错误.
而运行时则有可能出现逻辑错误.
比如说C#里最常见的"未将对象引用设置到对象的实例",就是说一个对象并没有实力化,或者没有值就去引用了.
再比如连接数据库,语法正确,但是运行时却因为SQL未启动或者连接字符串拼写错误而发生异常.