69,378
社区成员
发帖
与我相关
我的任务
分享
/**转化为大写**/
void upper(char* str)
{
assert(str);
while(*str)
*str = (*str++)&0xDF;
}
/**大写换为小写*/
void lower(char* str)
{
assert(str);
while(*str)
*str=(*str++)|0x20;
}
int main(int argc,char* arg[])
{
char str[6]="AdfCD";
char* str2="sdfsDFG";
upper(str);//不会报错
upper(str2);//报错
printf("%s",str);
}
assume cs:code ,ds:data
data segment
db 'uhuuB'
db 'fdfAF'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov cx,5
s: mov al,[bx]
and al,11011111B ;把第五位设置为0及变为小写
inc bx
loop s
mov bx,5;把bx指向第二个字符窜
mov cx,6
s2:mov al,[bx]
or al,00100000b;把小写变成大写
inc bx
loop s2
mov ax,4c00H
int 21H
code ends
end start
#include <stdio.h>
#include <string.h>
int main(void)
{
char string []= "abcdefghijklmnopqrstuvwxyz", *ptr;
/* converts string to upper case characters */
ptr = strupr(string);
printf("%s\n", ptr);
return 0;
}
#include <stdio.h>
#include <string.h>
int main(void)
{
char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;
/* converts string to upper case characters */
ptr = strupr(string);
printf("%s\n", ptr);
return 0;
}