zoukankan      html  css  js  c++  java
  • 一道题检測是否理解指针

         这道题给我的感觉就是。指针跳过来跳过去,眼花缭乱

         

         大家也来看看

     

    代码例如以下

    #include <iostream>
    
    using namespace std;
    
    int FindSubString( char* pch )
    {
    	int   count  = 0;
    	char  * p1   = pch;
    	while ( *p1 != '' )
    	{
    		if ( *p1 == p1[1] - 1 )
    		{
    			p1++;
    			count++;
    		}
    		else
    		{
    			break;
    		}
    	}
    	int count2 = count;
    	while ( *p1 != '' )
    	{
    		if ( *p1 == p1[1] + 1 )
    		{
    			p1++;
    			count2--;
    		}
    		else
    		{
    			break;
    		}
    	}
    	if ( count2 == 0 )
    		return(count);
    	return(0);
    }
    void ModifyString( char* pText )
    {
    	char  * p1   = pText;
    	char  * p2   = p1;
    	while ( *p1 != '' )
    	{
    		int count = FindSubString( p1 );
    		if ( count > 0 )
    		{
    			*p2++ = *p1;
    			sprintf( p2, "%i", count );
    			while ( *p2 != '' )
    			{
    				p2++;
    			}
    			
    			p1 += count + count + 1;
    		}
    		else
    		{
    			*p2++ = *p1++;
    		}
    	}
    }
    void main( void )
    {
    	char text[32] = "XYBCDCBABABA";
    	ModifyString( text );
    	printf( text );
    }
    


    执行结果




    曾经没用过sprintf函数,尽管baidu了一下,还是不太懂

    这里。假设把

    while ( *p2 != '' )
    {
    	p2++;
    }
    

    凝视掉


    则输出结果例如以下




    感觉比較怪异

  • 相关阅读:
    linux下配置redis
    前端之JavaScript:JS之DOM对象一
    前端之JavaScript:JavaScript对象
    css样式之补充
    css属性中常见的操作方法
    css属性操作
    css选择器
    html 表单操作
    前端基础之html
    1231211221211221
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7068290.html
Copyright © 2011-2022 走看看