我想将变量字符串转换为整数:
测试我的代码时,我注意到我做错了。
#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。为什么继续输出随机数。
答案 0 :(得分:1)
您将指针强制转换为char。因此是char *
到int
的转换。该指针是存储字符的地方。如果要打印第一个字符的ASCII码,则需要
printf("%s\n %i\n", s, *s);