gpt4 book ai didi

C-Segmentation 错误

转载 作者:行者123 更新时间:2023-11-30 20:48:02 25 4
gpt4 key购买 nike

最近我开始研究内置函数,但遇到了一个错误,那就是:

为什么我会遇到此程序段错误

#include<stdio.h>
#include<ctype.h>
int main()
{
char str[50];
int n;
printf("Who is your best friend? ");
scanf("%s",str);
n=isalpha(str);
if(n!=0)
{
printf("Is Alpha");
}
else
{
printf("Invalid Input");
}
return 0;
}

请帮帮我...

最佳答案

isalpha()'其原型(prototype)为

int isalpha( int ch );

参数的类型为int。但是您传递的类型是 char * 类型,因为 str 是一个字符数组。

也许你的意思是

unsigned char str;
scanf("%c",&str);

isalpha() 如果其参数不是字母,则返回 0

为了避免溢出,您可以将 scanf() 修改为

scanf("%49s",str);

用一个字符来存储\0字符。

看看this发布。

编辑:isalpha() 的参数不应该是char。它必须至少是 unsigned char,如所述 here 。感谢melpomene感谢指出这一点。

关于C-Segmentation 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49152453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com