阅读程序写结果
#include<stdio,h>
void main()
{
char[][7]={"Teacher","Tom","Good"};
char *p=a[0];
p=p+3;
printf("%s\n%s\n",a[0],p);
}
这一题答案是
TeacherTom
cherTom
我想问的是Teacher后面应该还有一个\0吧?长度应该大于7吧?为什么还能初始化?
然后这个答案怎么来的我也不懂,初学者,求详细解释,谢谢了!!
还有一道姊妹题
#include<stdio,h>
void main()
{
char a[][7]={"Teacher","Tom","Good"};
char (*p)[7]=a;
printf("%s\n%s\n",a[0],++p);
}
这两道题后面的GOOD都到哪去了?还有(*p)[7]和*p[7]的区别?实在不懂。。求指导,悬赏30,我全部的家当了。。。。。。。感激不尽
为什么TEACHER后面没有\0而TOM后面有啊?就是不知道这个。。。是不是TEACHER把那一行填满了就不加\0了,而TOM没有填满所以补充了一个\0?
追答有可能是您说的这种情况,但即便加上了也是在R后面,再赋值Tom的时候T也会覆盖R后面的'\0'。
不管哪种情况,R后面都不会有'\0'。
您的说法可能更准确些,可以试下char a[2][7]={"Teacher"}然后输出a[0]试试看。
经过验证应该是被覆盖了,而不是不添加了。
c语音,初学者求解两道简单的题目,尽量详细点~
第一个题目应该这样理解,首先a是一个二维数组,第一维可以认为为指针,指向字符串(或字符数组),Teacher按道理后面应该有个\\0,不过这个在初始赋值时应该被覆盖了,而且变成连续的了,其长度若按字符串(strlen)理解确实大于7(为10),按数组理解当然不能超过7了,但是打印的时候是按字符串打印的。
初学者请教 两道简单的c语言编程题目
1. 用C语言自己的时间函数 difftime(time_t time1, time_t time0) \/ 86400 这样做得缺点是,这里的time_t类型,只支持到2037年 2. 自己定义函数 楼主用的方法,在实际编程里不常用,变化比较大。下面这个方法是直接计算两个日期到公元元年的天数 然后相减,这个是实际编程时的算法,经过很多程序...
急求解两道不难的C语言编程题目
1 include <stdio.h> include <malloc.h> int *g_n;int g_num;void output(){ int i=1;if (g_n[0] != g_num){ printf("%d = %d", g_num, g_n[0]);while(g_n[i]!=0 && i<g_num)printf(" + %d", g_n[i++]);printf("\\n");} } void decompose(int num, in...
C语言编程问题,初学者,麻烦简单些,谢谢
int main(){ int sex,h,h1;float w,x,w0;scanf("%d%f%d",&sex,&w,&h);if(sex==0){ h1=80;x=0.7;} if(sex==1){ h1=70;x=0.6;} w0=(h-h1)*x;if(w>=0.9*w0&&w<=1.1*w)printf("正常体重\\n");else if(w>1.1*w0){ if(w<=1.2*w0)printf("体重过重\\n"...
C语言编程问题,初学者,麻烦简单些,谢谢(*°∀°)=3?
int main(){ int sex,height;float weight,bzweight;\/\/输入体重和标准体重 printf("输入性别(0-男性,1-女性):");scanf("%d",&sex);printf("输入身高(cm):");scanf("%d",&height);printf("输入体重(kg):");scanf("%f",&weight);if(sex==0)bzweight=(height-80)*0.7;else bz...
求C语言题,我是初学者,请讲详细点
C)x=n=1 \/\/很明显,缺少分号,一个语句的最基本要求就是,以分号结束。如果做为一个表达式是合法的,x=n=1同等于 x=1,n=1;D)x=5=4=1;\/\/错误,赋值的最基本要求,被赋值的一定是变量,不能是常量,也就是说左边是变量,右边可以是常量,或者已经被赋值的变量, 因为5 4 都不是变量...
C语言编程问题,初学者,麻烦简单点,可以看懂的,谢谢(*°∀°)=3?_百...
一、a为0,bx+c=0,求得一解。二、a不为0,按照一元二次方程公式:当判别式b^2-4ac,>0则两个解,=0则一个解,<0则无解。最后,代入公式求解。函数参数:a,b,c及存放结果的数组x。返回解的个数。下面是代码:include <stdio.h> include <math.h> int fun(double a,double b,...
初学者求教简单的C语言问题?
问题1:将case 1, case 2, case 3 依次改作case '1',case '2', case '3'就好了。因为scanf("%c",&choice);这句表示choice是以字符形式接收输入的数据,所以case的形式应该也是字符的形式!case部分如下修改就好了 scanf("%c",&choice)while(choice!=‘4’){ scanf("%c",&choice)swit...
求C语言答案!!!坐等!!!高悬赏!!步骤清晰!!!
你是刚学C语言的吧?建议在学习的时候同步观看 徐洪波老师的C语言程序设计视频教程,百度上去搜索下载即可,这套视频极适合C语言初学者学习!保证学完之后,C语言不说登峰造极了,也绝对是高手一个!当然了,若想成为C语言的强者,还有很多路要走。下面就对这两道题做一解释。先声明:代码有很多可优化...
求解两道C语言问题(英文)
第一题 (a) 关键字:double, return (b) 标准的标识符:time, G, xyz123, this_is_a_long_one (c) 通常用于宏名称:MAX_ENTRIES (d) 其它有效的标识符:Void, MAX_ENTRIES, printf (e) 无效的标识符:Sue's, part#2, "char", #insert 第二题 这题题目肯定有问题,卫星又不是贴着...