关于C语言的问题,麻烦达人们帮解下!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:08:35
chhar *p="North Software Institute"
isalpha(*p)
请问函数isalpha()的判断结果是'1'还是'0'

判断结果是‘1’。
因为你定义了一个指向字符串的指针p,c语言中字符串是以字符数组的形式存放的。这样这真p就指向了这个字符数组(North Software Institute)的首地址(字母N的地址),也就是*p=N.由isalpha函数的特性可知,此时的判断结果是‘1’;

函数:isalpha
原型:int isalpha(int ch)
头文件:ctype.h
功能:如果ch的内容为字母表中的字母,本函数返回非零值,否则返回零值。
编一个测试的程序看看就可以了:
# include "ctype.h"
main()
{char *p="North Software Institute";
if(isalpha(*p)) printf("It ia an alpha!");
else printf("It is not an alpha!");
}
结果是:It is an alpha.
你自己可以试着改成isalpha(*(p+5)),这回结果就变成了It is not an alpha.因为这是判断的是字符串North后和Software之间的空格,当然不是alpha(键盘字母), 所以结果变了。

1;
函数:isalpha
原型:int isalpha(int ch)
头文件:ctype.h
功能:如果ch的内容为字母表中的字母,本函数返回非零值,否则返回零值。
示例:

/*本函数运行环境Visual C++ 6.0,测试结果 :通过*/
#include<ctype.h>
#include<stdio.h>

int main(void)
{
char ch;
int total;
total=0;//初始化
/*统计字母块*/
do
{
ch=getchar();
if(i