DC - 9:指针(3)

比较两个字符串的大小

#include <stdio.h>
#include <string.h>
int main()
{
    char ch1[100];
	char ch2[100];
	gets(ch1);
	gets(ch2);
	char *p0 = ch1;
	char *p1 = ch2;
        int a = strlen(ch1);
	int b = strlen(ch2);
	int k = 0;
	printf ("%d %d\n",a,b);
    while ((*p0 != '\0') || (*p1 != '\0'))
    {
	    if (*p0 > *p1)
	    {
		    k = 0;
		    break;
	    }
	    else if (*p0 < *p1)
	    {
		    k = 1;
		    break;
	    }
	    else
	   {
		   p0++;
		   p1++;
		
	    }
		
		if (a > b)
			k = 0;
		else if (a < b)
			k = 1;
		else
			k = 2;
		
	
	}
	if (k == 0)
		printf (">\n");
	else if (k == 1)
		printf ("<\n");
	else 
		printf ("==\n");
    return 0;
}
比较两个字符串有限个字符的大小

#include <stdio.h>
#include <string.h>
int main()
{
  /*  char ch1[100];
	char ch2[100];
	gets(ch1);
	gets(ch2);
	char *p0 = ch1;
	char *p1 = ch2;
    int a = strlen(ch1);
	int b = strlen(ch2);
	int k = 0;
	printf ("%d %d\n",a,b);
	*/
	char ch1[100];
	char ch2[100];
	gets(ch1);
	gets(ch2);
	int i;
	int t = 0;
	scanf ("%d",&i);
	char *p0 = ch1;
	char *p1 = ch2;
    int a = strlen(ch1);
	int b = strlen(ch2);
	int k = 0;
	if ( ((i < a) && (a < b)) )
	{
		ch1[i] = '\0';
	    ch2[i] = '\0';
	}
	else if ((i < b) && (b < a))
	{
		ch2[i] = '\0';
	    ch1[i] = '\0';
	}
	printf ("%s\n",ch1);
	printf ("%s\n",ch2);
    while ((*p0 != '\0') || (*p1 != '\0'))
    {
	    if (*p0 > *p1)
	    {
		    k = 0;
		    break;
	    }
	    else if (*p0 < *p1)
	    {
		    k = 1;
		    break;
	    }
	    else
	   {
		   p0++;
		   p1++;
		
	    }
		
		if (a > b)
			k = 0;
		else if (a < b)
			k = 1;
		else
			k = 2;
		
	
	}
	if (k == 0)
		printf (">\n");
	else if (k == 1)
		printf ("<\n");
	else 
			printf ("==\n");
    return 0;
}


拷贝有限个字符串

#include <stdio.h>
int main()
{
	char str1[100] = "hello";
	char str2[] = "worldkgffijhgkjhgkjh";
	char *p1 = str1;
	char *p2 = str2;
	int k;
	int i;
	k = 0;

	scanf ("%d",&i);
	while (k != i)
	{
		*(p1++) = *(p2++);
		k++;
	}
	*p1 = '\0';
	puts(str1);
	return 0;
}

追加有限个字符串

#include <stdio.h>
#include <string.h>
int main()
{
	int i,k;
	printf ("请输入追加个数:");
	scanf ("%d",&i);
    char ch1[100] = "hello";
	char ch2[] = "world";
	char *p0 = ch1 + strlen(ch1);
	char *p1 = ch2;
	k = 0;
	while (k != i)
	{
		*(p0++) = *(p1++);
		k++;
	}
	printf ("%s",ch1);
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值