新手求教关于C语言的问题

作者&投稿:孙阮 (若有异议请与网页底部的电邮联系)
新手求教关于C语言的问题~

1 程序改正如下:
#include
#define BLURB "Authentic imitation!"
int main(void)
{
printf("/%2s/
",BLURB);
printf("/%24s/
",BLURB);
printf("/%24.5s/
",BLURB);
printf("/%-24.5s/
",BLURB);
return 0;
}

2 运行结果如下:
/Authentic imitation!/
/ Authentic imitation!/
/ Authe/
/Authe /

3 空格计算在内,输出的宽度有24的。
4 第一条输出语句没有减号。

不需要啊,你按这个语句编译的时候有没有提示错误?

debts[20] 你首先要理解他是在栈里面申请了20个浮点类型长度的空间,然后指定空间里面的数值代表的是浮点数,也就是说从起始开始32位*20的空间都是他所占的内存。
然后看你的问题。
1、二十个元素可以一样也可以不一样,它只是表示一段空间,你可以强制转换成其他类型,不过目前你还不需要理解这些东西。就像我说的debts[5]相当于从数组开头的那个地址开始数到底6个32位的地方(0-5)然后往那个地址里面写入32.54的二进制码。也就是付给你所申请的二十个元素中的第6个元素
2、就合开头的说法一样,其实debts[20]算错也不算错,从数组意义上来说他超出了申请范围,所以是错的,但是从计算机而言,它相当于代表了从数组开始按浮点32位计算第21个内存空间中的数值,同理33也是,所以他们都是对的,你可以手动给他们写数值。
3、相当于队第五个元素做覆盖动作,和4完全没有关系。相当于你一幢20层楼的房子,5楼住了一户人家,关你四楼什么事情。

从你的问题看,应该确实是刚开始学C的人,建议不要考虑问题二里面提到的问题,因为考试里面绝对不会考虑到这些的,你如果写了肯定就算你错。而且容易让你搞混

1、每个元素是独立的,其地址依序排列。每个元素的取值可以相同。该值赋给了数组的第6个元素。

2、声明debts[20]意味着这个数组只有20个元素,[20]是第21个元素,[33]是第34个元素,访问不存在的元素当然会报错。

3、不是。是向debts[4]这个变量所在的地址写入数据,也即给debts[4]赋值。

不对的
float A[20]相当于是定义了float A[0],A[1],A[2],......A[19]就完了 没有A[20] 也就更没有A[33]了 每一个数组下标都是从0开始 到N-1结束
那么debtS[4]就是第五个元素
懂了吗

坐等高手

C语言指针部分 入门 有题求教
答:我一行一行给你分析语句吧 根据代码,申请的指针类型、数组类型都是int型,这个不用多说了哈。第一行:1.定义了一个2行3列的数组a[][],并且对其赋值。2.定义了一个1行2列指针数组s[],就相当于这个指针数组由两个指针s[0],s[1]组成啦。3.定义了一个指向指针的指针pp,你可以把它当做一个...

c语言新手求教,为什么运行不了
答:你要点“是”,这样的话就可以生成一个文件,然后对这个文件进行编译 printf那句话应该是printf("我喜欢c语言");引号是半角的,括号也是半角的,最后还要有一个分号,也是半角的,用来表示这句语句的结束

C语言求教。一个小小的编程问题,在线等
答:更多关于c语言的知识 > 正在求助 换一换 回答问题,赢新手礼包 苦等1分钟: 高中生对蓝光过敏要怎么治? 被电脑或手机照射到脸部... 回答 苦等30分钟: 有没有什么购物商城或者app像快看商城那样,卖一些... 回答 苦等31分钟: 大学生如何提高1000米成绩 回答 苦等43分钟: 求推荐2000-3000价位的笔记本电脑...

新手求教c语言中的数组和i++的使用问题
答:数组:就好像我有连续挨着的50张桌子,每个桌子上放一本书;那么我就可以把这一排桌子叫一个数组,每一张桌子就叫数组的一个数组元素,而'书'就是数组元素的值.数组的值可以改变,就像我不放书了,我在每个桌子上放苹果也可以.和数学基础基本无关,当然有初中以上文化还是必要的.”i++应该是先...

使用C语言如何取去掉一个字符串的首尾字符,新手求教各位大神,多谢啦...
答:字符串用数组表示.比如用str[999]表示字符数组。算出字符长度,删除str[0]和最后一个字符。include<stdio.h> include<string.h> define n 100 void main(){ char a[n],i,t;scanf("%s",a);t=strlen(a);for(i=0;i<t-1;i++)baia[i]=a[i+1];a[i-1]='\0';printf("%s",a);...

新手求教关于C语言的问题
答:3、相当于队第五个元素做覆盖动作,和4完全没有关系。相当于你一幢20层楼的房子,5楼住了一户人家,关你四楼什么事情。从你的问题看,应该确实是刚开始学C的人,建议不要考虑问题二里面提到的问题,因为考试里面绝对不会考虑到这些的,你如果写了肯定就算你错。而且容易让你搞混 ...

C语言新手求教
答:是代码逻辑有问题,是 case 2: 语句有问题,这问题一般是因为代码的格式化错误引起的,就是花括号分得不对。下面的代码运行起来是正常的,我在 case 2: 的上面加了 break。include <stdio.h>#include <math.h>int main(void){int a;printf("请用户输入年份:\n");scanf("%d", &a);switch...

c语言新手求教
答:scanf("%d,%d,&a,&b");修改为 scanf("%d,%d",&a,&b);printf("%f,%d,c,f"\n);修改为 printf("%f,%d\n",c,f);你的括号范围括的太大了。另外f=(int)(c-e)*10; 修改为 f=(int)((c-e)*10);

c语言中有个问题不明白,c新手求教!!char *p 的问题!!
答:ps是指向一个字符串的指针,它同时是一个字符串的首地址,而%s是解析后面的字符串,参数必须是首地址!!这样就不会错了:printf("%c\n",*ps);

...第一个没错,但是第二个不对,错哪里了?新手求教,谢谢 求1! + 2...
答:三处错误,不过都是小错,注意一下就行了。1:函数定义体在main()的后面,因此需要在main()使用之前进行声明 2:定义的函数jc和main中定义的变量jc重名,去掉main中的jc变量 3:main函数中的printf函数中sum的格式符应该是%ld,不是%lf 修改后的代码如下:include <stdio.h> long jc(int x);//...