C语言中,下面编写的程序,编译无错误,执行时显示有一个错误,怎么回事呢?

#include<stdio.h>
#include<string.h>
void main()
{
char string[20];
char str[3][20];
int i;
for(i=0;i<=2;i++)
gets(str[i]);
if(strcmy(str[0],str[1])>0)
strcmp(string,str[0]);
else
strcmp(string,str[1]);
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("\nthe largest string is:\n%s\n",string);
}

第10行,strcmy,改成strcmp
你这程序逻辑混乱了哦。。。strcmp这个函数是比较的意思,对原来的数据不会进行任何修改的,而且返回值是0和1,你也没有变量接收返回值。如果没有理解错你的意思的话,你应该把if和else下面的函数也改成strcpy
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-11
拼错了strcmy ->strcmp
第2个回答  2013-08-11

拼错了

为什么我的C语言编程时没有错误但有警告,运行不了,这个实在不晓得为什 ...
编译没有错误只是说没有语法错误。 但你的程序可能有逻辑错误。例如死循环什么的。 所以 ,编译正确不代表程序就是对的。其实只要你学习半年左右就很少出语法错误的。更多的是逻辑错误。那是侯还要靠自己一步步的调试啊 看啊,想啊。

...1 error(s), 0 warning(s),也不出结果,怎么回事?
应该是编译未通过,程序可能存在细小错误,如标点符号是否用的是半角字符、for 后面的大括号是否有落一个、开头的头文件添加等等,你先改改代码,再试一遍,如果确定代码无误,那可能和你安装的运行软件本身有关,你换个电脑也可能就能出结果。这种情况我们上机课时常出现。

用C语言编程程序没有错误为什么结果不对
编译和连接都正确,只能说明编译器对他进行语法等检查 没发现他的错误而已,而既然运行结果是错误的,那就是说明一点 可能是你的算法设计的不当,不能正确的解决问题,这样发生的错误 是运行期错误,在编译连接的过程不会出错的,不过幸好,编译器也为我们 提供了一些解决类似运行期错误的一些调试工具,通过debug...

C语言程序运行出错,编译没有错误
错误有两点:1、需要给主函数一个函数返回值的类型,可以为void也可以是int 2、scanf函数的语法错了,少了&

为什么c语言程序在运行时出现错误?
出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。

C语言为什么会出现:编译通过,执行失败 的情况?
语法对,语义错,溢出错,下标超界,指针未分配单元。很多啦。新手常犯错误:void main(){ int a=0;scanf("%d",a);printf("%d \\n",a);} 错在 scanf("%d",a); -- 应当是 scanf("%d",&a);编译通过,执行失败!

C语言程序,编译连接时都没问题但运行时出错了
一眼就能看出的错误 你的 char name[100];只是指针,没有分配内存,你把它做为二维数组用了 另外,字串数组不能只交换指针的 给你一个简单的参考(固定5个字串,非函数调用)include <stdio.h> include <string.h> int main(){ int i,j;char str[5][200],temp[200];printf("Please inout fiv...

Keil或是伟福用C编写的程序,在编译时显示无错,但是仿真的时候发现有些...
c语言的编译器有优化选项,keil好象有九级,可设置,你那段代码可能被优化了,例如代码有重复,或者代码在程序运行过程中不可能被执行 你可以认真审查你的代码,或者把优化等级设置为0,如图

...为什么在运行的时候弹出编辑框说,无法执行程序?
有些错误是编译器无法检查的 编译器只能检查你语法是不是错误但无法检查你算法是否错误 看来可能你中间有哪步有严重错误了,以至于系统要强制关闭程序,好好检查一下吧

...为什么在编译时没有问题,但是回到程序的执行时,就会出现程序崩溃的...
其中最常见的是数组访问越界和野指针问题,当然也有部分野引用问题也会造成运行时崩溃。所以你要通过改变编程风格或者确保每次进行内存的相关操作的时候尽力谨慎。前者可以参考 effective C++ 系列和imperfect C++这些书。另外你编写的代码有很大的问题:Bitnode *gen;\/\/根节点 int sum;全局变量只在本文件...

相似回答