1. 程式人生 > >C語言,用指標進行字串反轉ToUpper StrintFind ToLower

C語言,用指標進行字串反轉ToUpper StrintFind ToLower

// Reverse.cpp : 定義控制檯應用程式的入口點。
//

#include “stdafx.h”
#include <string.h>

//字串反轉 str是char型別的字串
void reverse(char* str)
{
int i = strlen(str)-1;
int j = 0;
while (j<=i/2)
{
char temp =*(str+j);
(str+j) =(str+i-j);
*(str+i-j) = temp;
j++;
}
}

int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));

/
char str[] = “abcxyz1234”;
reverse(str);
return 0;
}


void reverse1(char* str)
{
char* p = str;
do
{
++p;
}while (*p);
p–;

while (p>str)
{
	
	char t = *str;
	*str = *p;
	*p = t;		
	p--;
	str++;
}

}

int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));
/
char s[] = “abcxyz1234”;
reverse1(s);
return 0;
}


void reverse1(char* str)
{
char* p = str;
while (*p)
{
++p;
}

while (--p>str)
{		
	char t = *str;
	*str = *p;
	*p = t;			
	str++;
}

}

int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));
/
char s[] = “abcxyz1234”;
//char *p = “abcxyz1234”;//常量區的內容是隻讀的,不能寫入,寫入就崩潰
// reverse1§;//
reverse1(s);
return 0;
}


int StrintFind(char* s, char c)
{
int i = 0;
while (*s)
{
if (*s == c)
return i;
i++;
s++;
}
return 0;

}

void StringToUpper(char* str)
{
while (*str)
{
if (*str >= ‘a’ && *str <= ‘z’)
str -= ‘a’ - ‘A’;
str++;
}
}
void StringToLower(char
str)
{
while (*str)
{
if (*str >= ‘A’ && *str <= ‘Z’)
*str += ‘a’ - ‘A’;
str++;
}
}

int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));
/
//char s[] = “abcxyz1234”;
char s[80];
char *p = “123456xyz”;//p在常量區,不可寫入,只能讀取。
strcpy_s(s,sizeof(s), p);//拷貝之後的s存在棧中,可讀可寫。
char c = ‘x’;
int n;
n=StrintFind(s,c);
StringToUpper(s);
StringToLower(s);
reverse1(s);
return 0;
}