从字符串到整数的C类型转换

时间:2018-09-07 22:07:59

标签: c cs50

我想将变量字符串转换为整数:

测试我的代码时,我注意到我做错了。

#include <cs50.h>
#include <stdio.h>
#include <string.h>

int main(void)
{
    string s = get_string("Name: ");
    printf("%s\n %i\n", s, (int)s);
}

output:
Name: j
j
 41127952
Name: j
j
 40714256

我研究了ASCII码,其值为106。为什么继续输出随机数。

1 个答案:

答案 0 :(得分:1)

您将指针强制转换为char。因此是char *int的转换。该指针是存储字符的地方。如果要打印第一个字符的ASCII码,则需要

 printf("%s\n %i\n", s, *s);