c语言 指针 基础问题
#include<stdio.h>#include<string.h>#include<ctype.h>#defineN9longctod(char*s){longd=0...
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define N 9
long ctod( char *s )
{ long d=0;
while(*s)
if(isdigit( *s)) {
d=d*10+*s-'0';
s++;
}
return d;
}
long fun( char *a, char *b )
{
return ctod(a)+ctod(b);
}
这里引用ctod函数为什么是ctod(a)而不是ctod(*a),引用a代表的地址和引用*a代表的内容有什么具体区别?谢谢啦 展开
#include <string.h>
#include <ctype.h>
#define N 9
long ctod( char *s )
{ long d=0;
while(*s)
if(isdigit( *s)) {
d=d*10+*s-'0';
s++;
}
return d;
}
long fun( char *a, char *b )
{
return ctod(a)+ctod(b);
}
这里引用ctod函数为什么是ctod(a)而不是ctod(*a),引用a代表的地址和引用*a代表的内容有什么具体区别?谢谢啦 展开
3个回答
展开全部
引用ctod函数为什么是ctod(a)而不是ctod(*a)
首先 函数定义: long ctod( char *s )
ctod的参数char *s , 为指针类型。 所以调用时采用 ctod(a) 而不是ctod(*a)。
引用a代表的地址和引用*a代表的内容有什么具体区别
关于指针“a”和指针的值“*a”。
如 char *a = "abcedf";
如果使用变量a,即代表"abcedf"的首地址。
如果使用变量*a, 这个值就是字符'a'。
*被成为取值运算符,就是用来取指针(指定地址)的值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询