我不明白这个C程序到底什么意思?那个好心人帮帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/05/05 07:04:25
#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);
是打印出数组

isalpha(ch[i]),判断字符是否为英文字母

你是符号不会还是程序不懂?