C语言问题,求解答

作者&投稿:宣媚 (若有异议请与网页底部的电邮联系)
C语言的疑问~

'\xxx'类型的字符常量中,xxx代表8进制整数,其含义是某字符的ASCII码。
而\483' 里483不是合法ASCII码范围。

你认为应该是多少呢?输出是正确的,其值就是a[0],它被初始化为1.1。因为fun中为s指针重新分配了指向,*s=*p1+*p2++;这一句中的s已不再指向a了。因为指针形参本身也是拷贝调用,所以main中的s仍然是指向a的,printf("%5.2f
",*s);输出自然是a[0]。可以这样验证,在fun中的*s=*p1+*p2++;后加一句printf("%5.2f
",*s);,它就应该输出11.1了……

感觉你这个代码和题目要求的不太一样。要是按照题目中所描述的那样的话,输入的人数是不确定的,当输入’#“号的时候输入结束,而且你输入联系人信息以后没有必要再次输出联系人的信息啊, = =最后要说的就是你函数里面写的代码其实可以精简一点的,直接写成:
for(i=0;i<3;i++)
{
if(strcmp(a,s[i].name)!=0)
printf("%s",s[i].a);
}
这样代码就会精简一点,还有你的代码写的时候要记得缩进,用英文命名的时候就不要用拼音啦,在网上百度一下又不会怎么样 = =而且还可以学多几个单词。。。
希望我的回答能够被采纳~~如果没有回答到点的话请追问哈~~

#include <stdio.h>
#include <string.h>

struct teleno {
char name[30];
char phone[18];
};

void chazhao(struct teleno s[],int n);

void main() {
struct teleno a[3];
int i = 0;
printf("输入3个人的信息:
");
do {
scanf("%s%s",a[i].name,a[i].phone);
i++;
}while(a[i].name[0] != '#' && i < 3);
for(i = 0;i < 3;i++)
printf("%s
",a[i].name,a[i].phone);
chazhao(a,3);
}

void chazhao(struct teleno a[],int n) {
char name[30];
int i = 0;
printf("输入要查找的人的姓名:");
scanf("%s",name);
for(i = 0;i < 3;i++) {
if(strcmp(name,a[i].name) == 0) {
printf("%s
",a[i].name,a[i].phone);
return;
}
}
printf("没找到.
");
}



现代汉语、语言学的题目求解答(求高手,非常感谢!)
1.运用语言学理论知识分析校园流行语或广告语现象。比如“宅在宿舍里”这个“宅”字,本身是一个名词,但是现在演变为动词,借以表示整天呆在宿舍里这种情况。这是词性在扩大。同时“宅”本身表示的是在家里的情况,现在表示呆在一个地方很长时间的情况。这是词义在扩大。2.新时期以来,形成了一大批能...

C语言问题,求详解 特别是(*ptr)[2]是什么意思,
1:你的程序无法输出 10 20 30,会输出 10 20 00 原因:for(i=0;i<2;i++) ,所以只输入了两个数。2:int (*ptr)[2] 解释为:声明一个指针ptr,这个指针是个什么样的指针呢?是一个指向一个数组的指针。这个数组是个什么样的数组呢?是一个包含了两个元素,并且元素为int型的数组。

C语言的一个问题~求解答
选A,函数参数值传递,不是传参数本身,而是参数的一份副本,故参数c的值是不会改变的。include <stdio.h> include <string.h> typedef struct { char name[9];char sex;float score[2];}STU;void f(STU a){ STU b={"Zhao",'m',85.0,90.0};int i;strcpy(a.name,b.name);a.sex...

c语言入门问题,求大神解答
include<stdio.h> void main(){ char ch;int a;ch=getchar();if(ch>='a'&&ch<='z')ch='1';if(ch>='A'&&ch<='Z')ch='2';if(ch==' ')ch='3';switch(ch){ case'1':printf("小写字母\\n");break;case'2':printf("大写字母\\n");break;case'3':printf("空格\\n");br...

求几道C语言问题的详细解答过程
我也在学C,说说我的看法,希望我们能相互交流,共同进步。1、\\是转义的意思,除了一些固定的转义字符如\\n, \\t之外,\\后面是什么内容就输出什么。2、if(a)d=d-10;else if(!b)if(!c)d=15;else d=25;这个在VC编译器中显示应该是这样吧,if()内为逻辑判断,即真或假,一个数的话为...

c语言输出问题,37题,求大神详细解答一下*的作用,以及最后输出结果是怎么...
注:使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左 5 对于*的作用,因为在“”因此*没有具体的作用,因为不属于格式控制字符串,(1)当*两个变量之间是乘的意思,比如 a = 3;b = 4; a*b (2)在类型的后面是 ...

C语言文件问题,求大佬解答
include <stdio.h> include <stdlib.h> include <string.h> int main(){ FILE *fp;char str1[30],str2[30],str3[40],t;int i,j,k;\/\/有改动 if((fp = fopen("A.txt","r")) == NULL){ printf("error");exit(0);} fgets(str1,10,fp);puts(str1);fclose(fp);if((fp ...

几道C语言问题求教 望高手解答
1、#include”stdio.h”main(){ int x=-10,y=5,z=0;if(x=y+z)printf(“***\\n”);\/\/此处应为x==y+z;混淆了“=”和“==”,“=”是赋值运算符,“==”是等于号,else printf(“$$$”\\n);} 2、(x+y)+z-1&&y+z\/2是逻辑运算,不为0,就为1,3、由于“==”的优先...

C 语言问题,跪求大神解答
第10行为什么不直接写struct studentArray 声明结构数组中间要加个student?因为 struct student 这两个组合在一起才是所声明结构的结构体类型的名称,而不仅仅是struct这一个词。用这个类型的名称来定义数据,当然要把名称写全 2. 18,19行为什么studentArray[i].name不加地址符号别的要加?是因为 ...

一个C语言指针问题。求大佬解答?
在这个程序中,我们首先提示用户输入方阵的尺寸,然后输入方阵的元素。接着,我们通过遍历方阵的每一行,并使用指针指向每行对应列的元素,来求出方阵对角线元素之和。最后,我们输出结果。程序的输出示例如下:include <stdio.h> int main(){ \/\/ 方阵的尺寸 int n;printf("Enter the size of the ...

江安县17635966228: c语言问题 求详细解答谢谢 -
庄震尤尼: 当调用函数时,u=27,v=18 while(v)--->v=18,为真,执行循环 {w=U%v; --->w=27%18=9;u=v;----->此时,u和v的值并没有改变,所以,u=v=18;v=w;--->v=w=9;} 然后再进行循环,依此类推~

江安县17635966228: 高分急求!C语言编程问题,求高手解答 -
庄震尤尼: 1、首先第四行是定义的一个子函数,在主函数内部定义的所以后面要加分号2、设定abc三个变量是题目所需,因为比较大小两个数来比较第三个变量来保存比较结果,你也可以设定两个变量,把比较结果保存到输入值中不过就会覆盖原来的值3、Z是一个子函数变量,设定在主函数中在子函数不能使用,z的生存期只有在那个max函数中才会分配内存空间4、第18行没有出来,第16行倒是可以给你解释哈,在16行他是返回比较值保存在z当中的然后在第7行那个c就会接收到max的比较结果

江安县17635966228: 求解答一下C语言编程题,万分感谢 -
庄震尤尼: 1)原代码x没声明,算法有错误.#include "stdio.h" int main(void){ int i,n; float s=0.0,x,t1=0.0,t2=1.0; printf("x,n=?"); scanf("%f,%d",&x,&n); for(i=1;i<=n;i++){ t1=t1+x; t2=t2/i; s=s+t1*t2; } printf("s=%f\n",s); return 0; }2)原代码书写不规范...

江安县17635966228: C语言问题,求详解 以下选项中,合法的一组C语言数值常量是__________.(标准答案:D) ( -
庄震尤尼:[选项] A. ) 0x8A 10,000 3.e5 ( B. ) .177 4e1.5 0abc ( C. ) 028 .5e-3 -0xf ( D. ) 12. 0Xa23 4.5e0

江安县17635966228: C语言问题 求解答 急速!a=10a+=a - =a*a等于多少?写过程 -
庄震尤尼:[答案] a*a 是 100,此时a 的值还是 10, a -= 100,a 得到 10 - 100 ,为 -90 a += -90, a 的值为 -90 + (-90) ,结果是 -180, -180,这就是整个表达式的最终值.

江安县17635966228: C语言问题,求高手解答.:C语言问题,小白勿入描述:FOR语句循环,我们假定有三个循环.当程序运行到一定程度时怎样让语句从第三个循环返回时直... -
庄震尤尼:[答案] 如果只是单纯的实现问题的功能. goto语句就可以了.(虽然goto有点不利于程序可读.但是这里用goto是最直接的方法.) 下面是伪代码: firstFor: for(参数)//第一个for循环 { for(参数)//第2个for循环 { for(参数)第3个fo...

江安县17635966228: 急 急 急 C语言问题 求高手来解决 答对再加分!! -
庄震尤尼: 1.//---------------------------------------------------------------------------#include <stdio.h> typedef int data_type; void fun(data_type *a,int n) { data_type t,*b=a,*e=a+n-1; while (b<e) { t=*b; *b=*e; *e=t; ++b; --e; } } int main(void) { data_type a[6]; int i; for (i = 0; i<6; ...

江安县17635966228: C语言问题,求高手解答,谢谢! -
庄震尤尼: 这是基本递归方法.你做这题可以用排除法吧A 这个printf每次会输出一串,肯定不行了B fun函数传入参数其实是字串指针,fun(*(s+1))传入的是char类型,好歹也得char *的指针类型啊C 和A一样 每次必定输出一个字串.我们应该每次输出一个字符.那就D吧关于D,fun(s+1)肯定传入了字符指针,fun里面最后那句是 printf("%c",*s); 递归传入s+1,则最后会变成fun(s+strlen(s)-1),这个时候就可以输出最后一个字符了.最好是上机跟踪调试一下.

江安县17635966228: C语言简单问题,求解答 -
庄震尤尼: 1.int型2字节,则-1在内存中的补码为11111111 11111111,将这个值按照无符号型解释,则为65535,因此选择C.2.如果int型为2字节,则选择B;如果int型为4字节,则选择A.

江安县17635966228: C语言问题 求解答
庄震尤尼: 运行结果是1,3,5 首先,i = 1,进入循环,由于i=1,i<4,,不执行if里面的语句,执行 printf(("%d\n",i++);输出1,再使i值加1,i=2,接着执行i++,此时i=3 第二次循环,i+1>0为真,进入循环体 由于i=3,i<4,,不执行if里面的语句,执行 printf(("%d\n",i++);输出3, 再使i值加1,i=4,执行i++,此时i=5 第三次循环, i+1>0为真,进入循环体,由于i=5,i>5,执行if里面的 {printf("%d\n",i);输出5,下一句break;跳出循环,程序结束

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网