指针转换字符串大小写

#include<cstdio>
int main()
{
    char s[20],*p;
    printf("please input a string (less than 20 character):\n");
    scanf("%s",s);
    p = s;
    while(*p!='\0')
    {
        if(*p>='a'&&*p<='z')
        *p = *p - 32;//作用等同于 *p+'A‘-'a'
        p++;
    }
    printf("\nafter translation:\n");
    printf("%s\n",s);
    return 0;
}

注意在最后的时候printf的只能是s字符数组
而不能是指针,因为此时指针已经指到了字符数组的‘\0’的地址


你可能感兴趣的:(指针)