c - 如何在 c 中转换一个指向 int 的指针(以获取它的 ascii 值)

标签 c

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

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

}

这是行不通的,我希望得到帮助

最佳答案

您的代码无法正常工作,因为您检查的是指针的值(内存地址),而不是所指对象的值。请记住,指针是一个地址,您必须取消引用它才能获取该地址的值。

取消引用后,您可以简单地将 char 类型与这些值进行比较:

 char ascii_char = *ascii;

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

 }

关于c - 如何在 c 中转换一个指向 int 的指针(以获取它的 ascii 值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777570/

相关文章:

c++ - CUnit - 'Mocking' libc 函数

c - 在 C 中创建一个元组

c - 如果用户在 scanf 中输入字符来查找整数,如何避免死循环?

c - JNI : undefined symbol GOMP_parallel

非阻塞套接字中的并发?

c# - 如何在 c# (mono) 中导入 c 库 (.dll/.so)

改变字符串中的字母

c - 原子引用计数共享不可变数据是否需要内存屏障?

c - 没有得到想要的输出。有人可以告诉我解决方案吗?

c - 警告指针和整数之间的数组比较