个人中心
我的提问
我的回答
今日任务
我的设置
退出
文档资料
电脑网络
体育运动
医疗健康
游戏
社会民生
文化艺术
电子数码
娱乐休闲
商业理财
教育科学
生活
烦恼
资源共享
其它
歪果仁看中国
爱问日报
精选问答
爱问教育
爱问公益
爱问法律
不能说等价,scanf("%s",s);是可以的
1个回答
第一个指针应该清零(防止出现野指针),而且出现内存泄露,指针清零前应该先释放内存。 第二个s不是数组。
scanf(“%10s”,s);//越界了
CHAR是定义字符,不能用S=&I这是把地址给了S,刚才那个是把值给了S
2个回答
int fun(char*s) s=char*t =int fun (char*char*t) while (*t) return (t-s) =int fun (char*char*s) 是这样吗??
char *s; //这条语句定义的是一个指针, 指针也是一个变量, 只是它存储的内容是一个地址. 而scanf语句的一般形式为: scanf(格式控制字符串,地址1,地址2,...). 在这里你这样写, scanf语句并不认为 s是一个地址, 只把它作为一个变量看待
选C 原因: 选项A:s是二维数组名,是二维数组的首地址,当然是指针 选项B和D:s[0]是二维数组第0行的首地址,代表一个字符串,当然也是一个指针 选项C:*s[0]代表二维数组第0行第0列的地址,非字符串。
选择C 因为: A、D错在:scanf函数要求输入地址表列,而*str是指针的指针, str[0]是元素。 B错在:指针p使用前没有确定的指向
D. 最后一个能获取到值.
随便查一本C语言教材就知道原因,多翻书
你是不是看错结果了 我刚才试了一下 结果和理论结果符合 s = 24 s3 = 48 联合体里面是公用内存块,在s中char 占一个字节 double 8个字节(总的字节应该是1和8的倍数)又因为char数组为21,所以是24 结构体昨天让你查过资料了,你可以理解一下
void strReverse(char*s){ int len=strlen(s); int t; char *a; char *b; b=a; a=s+len-1; while(a!=s){ t=*a; *a=*s; *s=t; a++; s++; } a=b; }
问题说明得不清楚, 请说仔细一点。
printf('%s',s);写错了 应该是printf("%s",s);
int c=s代表c是一个整数 int *c=s代表c是一个指针 但是整数和指针不能等于字符串数组!
#include #include #define M 40 #define N 20 int index(char *s,char *t) { int i,n=strlen(t); char *z=s,*p=s,*q=t; if ((int)strlen(s)>=n) { while (*s!...
4个回答
很简单嘛int strlen (char * s){ char * p = s ; while (*p++ != '\0') ; return (p - s - 1) ;}这是C字符串哦
3个回答
我觉得是fun(p); 你要说是哪个变成软件呢,是VB?C++?还是VFP?
没给指针空间。。。
一个是指针,一个是对象,文本的大部分功能两者都能实现,但是前者可以通用,后者不能通用。前者用熟悉了,可以自己通过代码把后者写出来。后者在需要跨进程或者线程中频繁调用时,慎用,因为后者的内存管理有点特殊,容易出问题,简单应用的话,后者方便直接!
6个回答
2个 分析 \t是tap键,满足 a,满足 \0,不满足,退出。 所以2个。
#include"stdio.h" #include"string.h" void main() {char s[100]; printf("input s:"); scanf("%s",s); printf("the string is "); char *b,*pre=s; while(*pre...
#include #include #define max 100 char *sreverse(char *s,int sta,int end) { char c,e; int n=end; if(end>sta) { c=s[sta]; e=s[end]; s[sta]=e; s[end]=...
众多知名程序员都对C语言青眼有加,C语言是最棒的编程语言之一。学编程,从C开始,能打下最扎实的基础。北京新启航培训中心,长期开设C语言培训班。咨询电话:010-62362715。
有两种方式: 1、char c = '3'; char str[2]; str[0] = c; str[1] = 0; //or str[1] = '\0'; int i = atol(str); //ok 2、char c = '3'; int t = c - '0'; //ok
要改成char s1[20]="string",*s=s1;
你那是字符串输出,所以应该输出的也是字符串“789”吧。
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型在Qt下怎样将QString转char*呢,需要用到QByteA...