C语言
#include<stdio.h>int main()
{
char *p,s;
int n;
p=s;gets(p);
n = *p-'0';
printf("%d",n);
}
想问一下为什么这段代码我输入456,输出为4? 因为p本身只是一个char指针,所以长度为1 BngThea 发表于 2020-4-7 20:25
因为p本身只是一个char指针,所以长度为1
这里的n = *p - '0'
如果我输入432,*p就是4
上面的那个式子就相当于4-0=4,所以n = 4
是不是这样的??
老牛来学习 发表于 2020-4-7 20:46
这里的n = *p - '0'
如果我输入432,*p就是4
上面的那个式子就相当于4-0=4,所以n = 4
对的,p只是一个char* 这里整数是以字符串形式存储,而p指向数组首地址,即*p = s = 4
页:
[1]