有3个字符串,要求找出其中的“最大”者。
这是我第一次写出来的程序。点击运行时,出现了以下错误:
出现如上错误,原因是:
(1)数组不能直接给数组赋值
(2)指针不能直接给数组赋值
即
解决办法是:在这个地方可以使用strcpy()/strncpy(),使这个函数把一个地址上的数据复制到另一个地址上去
改正后出现了第二个问题,scanf函数中如果是字符数组名,不要再加地址符&,因为在C语言中数组名代表该数组第一个元素的地址(或者说数组的起始地址)
改正后,出现了一个警告:
在C语言编译中,出现类似于warning:incompatible implicit declaration of bult-in function 'strcpy'的警告,可以通过添加相应的头文件来消除。
如strcpy,strcmp,strlen等对字符串的操作函数,需要添加#include <string.h>
如malloc,free等对内存的操作函数,需要添加#include <Stalin.h>
将以上问题改正后,得到最终的正确程序: