69,369
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<conio.h>
#include<string.h>
/***********************************************************
返回最长字符串
***********************************************************/
#if 1
#define MAX_LEN(a, b) ((sizeof(a) >= sizeof(b)) ? (a):(b))
#else
char *MAX_LEN(char *a, char *b)
{
return (((strlen(a) >= strlen(b)) ? (a):(b)));
}
#endif
int main (void)
{
printf(" sizeof(\"VC\")-> %d\r\n\
sizeof(\"Java\")-> %d\r\n\
sizeof(\"C++\")-> %d\r\n\
sizeof(\"JavaScript\")-> %d\r\n",
sizeof("VC"),
sizeof("Java"),
sizeof("C++"),
sizeof("JavaScript"));
printf(" %s\r\n", MAX_LEN("VC", "Java"));
printf(" %s\r\n", MAX_LEN(MAX_LEN("VC", "Java"), "C++"));
printf(" %s\r\n", MAX_LEN(MAX_LEN(MAX_LEN("VC", "Java"), "C++"), "JavaScript"));
printf(" %s\r\n", MAX_LEN(MAX_LEN("hello", "world"), "www.baidu.com"));
printf(" %s\r\n", MAX_LEN(MAX_LEN(MAX_LEN("hello", "wold"), "www.baidu.com"), "Java"));//这里不是应该返回"www.baidu.com吗?为什么输出是"Java"?
_getch();
return 0;
}