지금 학원인데;;
대강 이런걸 줄줄히 썼는데요-_-
여기계신분들에게는 기초중에 기초라고 생각해서.. 일단 질문;;

char *Strupr(char *s)
↑ 이 함수에서 if문쪽에 *s-=32; ← 이게 에러라고 뜨는데;;
main에서 char *m2 = "mbc"; 이걸..
char m2[] = "mbc"; 로 바꿔주면 제대로 뜨거든요;
근데 m2[] 이거나 *m2 이거나 읽기는 똑같지 읽는거 아닌가요?
왜 에러가 나는지.. 꼭 *m2를 m2[] 이걸로 해야 제대로 읽히는지..
좀 알려주세요;;



/////에러가 나는것/////
#include<stdio.h>
#include<conio.h>

char *Strlwr(char *s)
{
        char *Start = s;
        while(*s != '')
        {
                if(*s<97) *s+=32;
                s++;
        }
        return(Start);
}

char *Strupr(char *s)
{
        char *start = s;
        while(*s !='')
        {
                putchar(*s);
                if(*s>=97) *s-=32;
                s++;
        }
        return(start);
}

void main()
{
        char m1[] = "KoRea";
        char *m2 = "mbc";
        char *m3;

        m3 = Strlwr(m1);
        Strupr(m2);

        printf("m1=%s  m2=%s  m3=%sn", m1,m2,m3);
}




/////에러가 나지 않는것/////
#include<stdio.h>
#include<conio.h>

char *Strlwr(char *s)
{
        char *Start = s;
        while(*s != '')
        {
                if(*s<97) *s+=32;
                s++;
        }
        return(Start);
}

char *Strupr(char *s)
{
        char *start = s;
        while(*s !='')
        {
                putchar(*s);
                if(*s>=97) *s-=32;
                s++;
        }
        return(start);
}

void main()
{
        char m1[] = "KoRea";
        char m2[] = "mbc";
        char *m3;

        m3 = Strlwr(m1);
        Strupr(m2);

        printf("m1=%s  m2=%s  m3=%sn", m1,m2,m3);
}