实际值存储在pstr中,但值如何存储在数组“WORD”中

时间:2012-07-14 08:57:57

标签: c

我怀疑该值是如何存储在" WORD"中,因为PStr包含实际输出。?

因为小写字母到大写字母存储在Pstr中,所以在printf中如何将它作为" WORD"给出。任何人都可以。解释

#include<stdio.h>
#define CASE 5

int main (void)
{
    char word[50];
    char *pstr = word;
    char mask;

    printf("enter a word");
    fgets(word,sizeof(word)-1,stdin);
    printf("original string : %s\n",word);

    mask = 1<<CASE;
    mask =~mask;

    while (*pstr != '\n')

    {
        *pstr = *pstr & mask;
        pstr++;
    }

printf("modified string: %s\n",word);
return 0;
}

1 个答案:

答案 0 :(得分:0)

pstr是指向word的指针,因此它们可以互换使用(但不应修改word)。

在C中,当您声明一个数组时,该数组的变量是指向该数组的指针。