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

c20*_*123 1 c

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

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

}
Run Code Online (Sandbox Code Playgroud)

这不起作用,我将不胜感激

Dou*_* T. 8

您的代码无效,因为您正在检查指针的值(内存地址)而不是指向的东西的值.记住指针是一个地址,你必须取消引用它才能获得该地址的值.

一旦解除引用,您可以简单地将char类型与这些值进行比较:

 char ascii_char = *ascii;

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

 }
Run Code Online (Sandbox Code Playgroud)

  • 初学者指南:指针是你的手指.炭是月亮.不要混淆两个;-) (4认同)