宇视笔试题
1、下列代码输出结果为:
#include<stdio.h>
union{
int i;
char x[2];
}a;
void main(){
a.x[0]=10;
a.x[1]=1;
printf("%d",a.i);
}
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include <stdbool.h>
static bool ispalindrome(char *str,int len);
int palindromes(char *str);
int main()
{
char *str="abcdcbfg";
int c=palindromes(str);
printf("%d\n",c);
return 0;
}
int palindromes(char *str)
{
int len=strlen(str);
int maxlength=0;
int length;
for(int i=0;i<len-1;i++)
{
for(int j=i+1;j<len;j++)
{
if(str[i]==str[j] && ispalindrome(str+i,j-i+1))
{
length=j-i+1;
if(maxlength<length)maxlength=length;
}
}
}
return maxlength;
}
static bool ispalindrome(char *str,int len)
{
if(len<=1)
return true;
else
return (str[0]==str[len-1] && ispalindrome(str+1,len-2));
}