zoukankan      html  css  js  c++  java
  • C语言实现大小字母转换、字符倒序输出

    1.大小字母转换:

    #include <stdio.h>
    
    int main()
    {
        char str[10];
        int i=0;
        gets(str);
        while(str[i])
        {
        if(str[i]>='a'&&str[i]<='z')
            str[i]=str[i]-32;
        else if(str[i]>='A'&&str[i]<='Z')
            str[i]=str[i]+32;
            i++;
        }
        puts(str);
        return 0;
    }
    

    输出结果:

    2.数组和指针的区别:

    (1)、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。

    (2)、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。

    (3)、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。

    数组名可以当作一个指针来用,数组名可以用*取其中的值,指针也可以用[]解引用,但它们还是有一些区别。

    指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。

    3.字符串倒序输出:

    //解法一
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    	char a[20] = {0}, b[20] = {0}, *p1, *p2;
    	printf("随意输入一个字符串:");
    	//memset(b, 0X00, sizeof(b));
    	gets(a);
    	p1 = a;
    	p2 = b + strlen(a) - 1;
    	for( ; *p1 != '\0'; p1++, p2--)
    		*p2 = *p1;
    	*p2='\0';
    	printf("string a is: %s\n", a);
    	printf("string b is: %s\n", b);
    	return 0;
    }
    

     输出结果:

    //解法二
    #include <stdio.h>
    #include <string.h>
    #define MAXN 1000
    
    void reverse(char* str)
    {
        char* p = str + strlen(str)-1;
        char temp;
        while(str<p)
    	{
    		temp=*p;
    		*p--=*str;
    		*str++=temp;
    	}
    }
    
    int main()
    {
        char str[MAXN];
    	printf("请输入一个字符串:\n");
        gets(str);
        reverse(str);
        printf("翻转后的字符串是:\n%s\n", str);
    	return 0;
    }
    

    输出结果:

    进击的qing
  • 相关阅读:
    nginx proxy_cache_revalidate
    博客园快速转载的方法,复制html的内容直接粘贴
    理解http浏览器缓存
    github 搜索技巧
    nginx缓存配置及开启gzip压缩
    音乐播放器的显示与隐藏
    寒假近半个月的收获
    javascript编程习惯总结
    关于域名服务器获取流程问题
    云盘WEB资料下载链接
  • 原文地址:https://www.cnblogs.com/qingfj/p/15690430.html
Copyright © 2011-2022 走看看