Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c中强制转换指向int的指针(以获取其ascii值)_C - Fatal编程技术网

如何在c中强制转换指向int的指针(以获取其ascii值)

如何在c中强制转换指向int的指针(以获取其ascii值),c,C,我有一个指针(*ascii),它是指向一个字符的指针,我希望它是一个int值,以便使它成为一个if语句 if ( ascii == 32 || ((ascii > 96) && (ascii < 123)) { } if(ascii==32 | |((ascii>96)和&(ascii96)和&(ascii字符96)和&(ascii字符96)和&(*ascii96)和&(a96)和&(*ascii96)和&(a='a')&(ascii_char为什么选择ascii

我有一个指针(*ascii),它是指向一个字符的指针,我希望它是一个int值,以便使它成为一个if语句

if ( ascii == 32 || ((ascii > 96) && (ascii < 123)) {

}
if(ascii==32 | |((ascii>96)和&(ascii<123)){
}

这不起作用,我希望您能提供帮助

您的代码不起作用,因为您检查的是指针的值(内存地址)而不是指向的对象的值。请记住指针是地址,您必须取消引用它才能获得该地址的值

取消引用后,您只需使用char类型与这些值进行比较:

 char ascii_char = *ascii;

 if ( ascii_char == 32 || ((ascii_char > 96) && (ascii_char < 123)) 
 {

 }
char ascii\u char=*ascii;
如果(ascii字符==32 | |((ascii字符>96)和&(ascii字符<123))
{
}

您的代码不起作用,因为您检查的是指针的值(内存地址),而不是指向的对象的值。请记住指针是地址,您必须取消引用它才能获得该地址的值

取消引用后,您只需使用char类型与这些值进行比较:

 char ascii_char = *ascii;

 if ( ascii_char == 32 || ((ascii_char > 96) && (ascii_char < 123)) 
 {

 }
char ascii\u char=*ascii;
如果(ascii字符==32 | |((ascii字符>96)和&(ascii字符<123))
{
}

只需在变量名前加*即可

if ( *ascii == 32 || ((*ascii > 96) && (*ascii < 123)) {

}
if(*ascii==32 | |((*ascii>96)和&(*ascii<123)){
}
或者只是将其分配给另一个变量并使用它

int a = *ascii
if ( a == 32 || ((a > 96) && (a < 123)) {

}
inta=*ascii
如果(a==32 | |((a>96)和&(a<123)){
}

只需在变量名前加*即可

if ( *ascii == 32 || ((*ascii > 96) && (*ascii < 123)) {

}
if(*ascii==32 | |((*ascii>96)和&(*ascii<123)){
}
或者只是将其分配给另一个变量并使用它

int a = *ascii
if ( a == 32 || ((a > 96) && (a < 123)) {

}
inta=*ascii
如果(a==32 | |((a>96)和&(a<123)){
}

我相信这会奏效

int asciiNum = (int)*ascii;

我相信这会成功的

int asciiNum = (int)*ascii;

如果您不是指仅比较第一个字符,而是指存储在该ascii指针中的数字,则使用atoi()函数将字符数组转换为数字,然后进行比较。

如果您不是指仅比较第一个字符,而是指存储在该ascii指针中的数字,则使用atoi()函数将字符数组转换为数字,然后进行比较。

为什么选择ASCII值

以下是更具可读性的方式:

字符ascii_char=*ascii


如果(ascii_char==''||((ascii_char>='a')&(ascii_char为什么选择ascii值

以下是更具可读性的方式:

字符ascii_char=*ascii


如果(ascii字符=“”| |((ascii字符>='a')&&(ASCII)CHARNO,它是标准C库LICBIT的ITOA的一部分,它是非标准的。STD::IGOTA在SGI STL中不是标准的C++。这两个都是容易被打乱的。不,它是标准C库LICBIT的ITOA的一部分,也是非标准的。STD::在SGI STL中的IOTA不是标准C++。这两个都容易被打乱。初学者指南:指针I这是你的手指。字符是月亮。不要混淆两者;-)初学者指南:指针是你的手指。字符是月亮。不要混淆两者;-)谢谢你发布答案:)谢谢你发布答案:)