#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
main()
{
int i,len;
char ch[50];
gets(ch);
len=strlen(ch);
for (i=0;i<len;i++)
if (isalpha(ch[i]))
ch[i]^=0x0020;
puts(ch);
getch();
}这个程序不明白,尤其是FOR循环以后的语句
if (isalpha(ch[i]))
就是 if (isalpha(ch[i]) != 0)
当ch[i]是英文字母的时候执行下面的语句。
ch[i]^=0x0020;
就是ch[i]=ch[i]^0x0020
^是位运算符 按位异或
puts(ch);
是打印出数组
就是 if (isalpha(ch[i]) != 0)
当ch[i]是英文字母的时候执行下面的语句。
ch[i]^=0x0020;
就是ch[i]=ch[i]^0x0020
^是位运算符 按位异或
puts(ch);
是打印出数组
温馨提示:答案为网友推荐,仅供参考