*q=(*p)-'0' 这个减'0'是什么意思?
来源:百度知道 编辑:UC知道 时间:2024/05/06 15:03:29
#include <stdio.h>
#include <string.h>
void main()
{
char c[100],*p=c;
int a[50],*q=a,num=0,i;
gets(c);
for(; *p!='\0'; p++)
if(*p>='0' && *p<='9')
{
*q=(*p)-'0'; /*这句是什么意思呀*/
p++;
while(*p>='0' && *p<='9')
*q=(*q)*10+(*(p++)-'0'); /*这句是什么意思呀*/
num+=1;
q+=1;
}
for(i=0,q=a; i<num; i++,q++)
printf("%d ",*q);
putchar('\n');
printf("一共输入了%d个数字。\n",num); /*原来vc是识别中文的!*/
}
请问'0'是数值还是字符。是字符吗
#include <string.h>
void main()
{
char c[100],*p=c;
int a[50],*q=a,num=0,i;
gets(c);
for(; *p!='\0'; p++)
if(*p>='0' && *p<='9')
{
*q=(*p)-'0'; /*这句是什么意思呀*/
p++;
while(*p>='0' && *p<='9')
*q=(*q)*10+(*(p++)-'0'); /*这句是什么意思呀*/
num+=1;
q+=1;
}
for(i=0,q=a; i<num; i++,q++)
printf("%d ",*q);
putchar('\n');
printf("一共输入了%d个数字。\n",num); /*原来vc是识别中文的!*/
}
请问'0'是数值还是字符。是字符吗
*q=(*p)-'0'//是将字符的‘0’-‘9’(对应ascii的48-57),转换成数字(int)0-9
*q=(*q)*10+(*(p++)-'0');//是把字符串转换成数字,比如说"123",变成数字123
不知道你是否明白?^_^
'0'是字符,对应ascii中48
同意楼上的意见
已知P,Q,P^2-QP+1=0则代数式Q-4/p的取值范围
P:x^2-ax+4=0有实根,q:y=2x^2+ax=4在[3,正)上是增函数。若“P或q”是真,“P且q'是假,那实数a()
对于素数p、q,方程x^4-px^3+q=0有整数解,则p,q为多少?
试证明P=Q
若p>0,q>0,且p的立方+q的立方=2,求证p+q≤2
用反证法证明:若p>0,q>0, p^2+q^2=2,则p+q>根号2.
*q=(*p)-'0' 这个减'0'是什么意思?
P:sinAsinB+cosAcosB=0 Q:sinAcosA+sinBcosB=0
已知p^2-p-3=0,1/(q^2)-1/q-3=0,pq为实数,且p*q不等于1,则p/q=().
给定正数p,q,a,b,c其中p≠q,若p,a,q成等比数列,p,b,c,q成等差数列,则一元二次方程bx2-2ax+c=0