|  | 
 
| 
想在linux下:    $./a.out alla asd aya
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  然后打印         $是不是是
 但是我的代码不知道哪里出现了错误
 
 #include<stdio.h>
 #include<stdlib.h>
 #include<string.h>
 
 int test_palindrome(char *str){
 int i=0,j,len,n;
 len=strlen(str);
 j=len-1;
 n=len/2;
 while(i<=n){
 if((*(str+i))!=(*(str+j)))
 return 0;
 j--;
 i++;
 }
 return 1;
 }
 
 int main(int argc,char* argv[])
 {
 int palidrome;
 palidrome = test_palindrome(argv[1]);
 if(palidrome==1)
 printf("是",argv[1]);
 else
 printf("不是",argv[1]);
 palidrome = test_palindrome(argv[2]);
 if(palidrome==1)
 printf("是",argv[2]);
 else
 printf("不是",argv[2]);
 palidrome = test_palindrome(argv[3]);
 if(palidrome==1)
 printf("是",argv[3]);
 else
 printf("不是",argv[3]);
 }
 
unix 我不会 T_T 。不过 printf() 用错了吧,试试这个 复制代码#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int test_palindrome(char *str)
{
        int i = 0, j, len, n;
        len = strlen(str);
        j = len-1;
        n = len/2;
        while(i < n) //不用 =,对称的,中间那个不用考虑
        {
                if((*(str+i)) != (*(str+j)))
                        return 0;
                j--;
                i++;
        }
        return 1;
}
int main(int argc, char* argv[])
{
    if(test_palindrome(argv[1]))
        printf("是\n");
    else
        printf("不是\n");
    if(test_palindrome(argv[2]))
        printf("是\n");
    else
        printf("不是\n");
    if(test_palindrome(argv[3]))
        printf("是\n");
    else
        printf("不是\n");
    
    return 0;
}
 | 
 |