【发布时间】:2015-04-22 17:21:22
【问题描述】:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define SIZE 20
int main( void )
{
int n; //number of characters to be compared
char s1[ SIZE ], s2[ SIZE ];
char *results_word;
printf( "Enter two strings: " );
gets( s1 );
gets( s2 );
printf( "\nEnter the number of characters to be compared: " );
scanf( "%d", &n );
问题从这里开始
results_word =
strncmp( s1, s2, n ) > 0 ? " greater than " :
strncmp( s1, s2, n ) == 0 ? " equal to " : " smaller than " ;
printf( "\n%sis%s%s", s1, results_word, s2 );
getche();
return 0;
}//end function main
那么为什么 result_word 没有得到对应的字符串呢?
【问题讨论】:
-
我认为您使用的是 C++ 编译器而不是 C
-
您似乎在使用 Borland/Turbo C,这不是很标准的抱怨,也不支持现代 C。
gets()不安全,已被弃用。请改用fgets()。顺便说一句,你的代码看起来不错。 -
将
char *results_word;更改为const char *results_word;