c语言简单问题2个

作者&投稿:勇阙 (若有异议请与网页底部的电邮联系)
这个简单C语言有哪2个错误~

if()
{
...

}
else
{
...

}

仔细比较一下两个程序就会发现,第一个被调用的函数中有返回语句 return(s), 所以为调用该函数的函数体提供了返回值,也就不需要传地址了(如果被调用的函数中需要返回多个变量的值,则还是需要传入地址参数),第二个没有返回值,也就需要将该参数的地址传进去,在函数体内对参数的改变将直接作用在它的本体上。

另一个问题: 在数组中,一级指针p相当于一个一维数组,只不过指针所指向的地址是可以发生改变的,而数组的的地址是不能改变的,*p = b意思是将p指向b的第一个元素的地址,因此
*p = b[0] , *(p+1) = b[1] ... 一次类推

第一道题:这道题你只要理解数组的存储就可以轻松解答了
char ss[10]="12345"; ss[10]={12345\0\0\0\0\0},因为是字符串所以没有赋值的就是\0。
gets(ss); 这句话就是输入ABC到数组中,此时ss[10]={ABC\05\0\0\0\0\0},ABC之后的\0是字符串结束的标志,必须有的,注意和后面的5分开
strcat(ss,"6789"); 这个strcat函数就是将两个字符串连接起来,连接点是从第一个\0开始的,所以ss[10]={ABC6789\0\0\0\0}.
printf("%s\n",ss);所以输出是ABC6789,因为字符串到结束标志\0就停止输出了
第二道题 同意一楼的解答

#include "stdio.h"
#include "string.h"
main()
{
char ss[10]="12345";
gets(ss); //输入ABC 替换掉123
strcat(ss,"6789"); //把6789连接在ABC45后面并加上\0
printf("%s\n",ss); //打印出来ABC456789
}

设函数fun的定义形式为
void fun(char ch,float x) {……}
则以下对函数fun的调用语句中,正确的是

A fun("abc",3.0);
B t=fun('D',16.5); //正确 char ch代表只有一个字符 就是B
C fun('65',2.8);
D fun(32,32);

结果是ABC6789。
gets(ss)后就是把“12345”改写成了新输入的字符串。也就是“ABC”。
而strcat(ss,"6789")是把字符串“6789”连接在ss后。即ABC后。所以答案是ABC6789。

C。从定义void fun(char ch,float x)可以看出。这是个没有返回值(t=...B错误)的函数。它的参数是一个字符(“abc”...A错误。32...D错误)和一个实型。只有C是完全符合的。

ANNNAL_S 正确~~


C语言问题(输入2个学生3门课的成绩并求每个学生的平均分和成绩和...
用数组或者结构都可实现,我这里用数组写。循环输入同时累加总分计算平均值。include<stdio.h> define MS 2\/\/最大学生人数 define MC 3\/\/最大科目数 int main(){ int i,j;float scs[MS][MC],avg[MC],sum[MC]={0};for(i=0;i<MS;i++){ printf("请输入学生%d的%d门成绩:",i+1,...

语言学的相关问题
关于语言学我有几个问题想向高手请教;一,十九世纪语言研究发展成独立的科学的原因是什么?二,语言学和文学的关系.三,批判语言学的起源是什么,是来自于拟声的观点吗?四,如何用... 关于语言学我有几个问题想向高手请教;一,十九世纪语言研究发展成独立的科学的原因是什么?二,语言学和文学的关系.三,批判语言学的...

一道简单的C语言问题,找2
include <stdio.h>int main(){int n,i,j,s=0; scanf("%d",&n); for(i=2;i<=n;i++) for(j=i;j;j\/=10) if(j%10==2)s++; printf("%d\\n",s); return 0;}

语言学问题
1. Phonetics, Phonology, Morphology, Syntax, Semantics and Pragmatics.2. Linguistics can be defined as the scientific or systematic study of language. It is a science in the sence that it scientifically studies the rule,systems and principles of human laguages. It deals with a wide...

幼儿语言6大问题
不论幼儿面对的语言问题是什么都应该把握早期发现问题,早期接受专业人员的评估与处理是二大重要原则,才不至于延误语言学习的最佳时机。语言沟通的能力是人类社会生活中不可缺乏的要件,语言能力的高低决定一切学习的成果,相信所有关心孩子成长的父母都不会忽视这个看似无关紧要,其实却影响深远的语言问题吧...

c 语言初学,简单程序问题。调用同一个函数三次,第一输出最大值,第二...
z;} int add(int a, int b){ int z;z=a+b;return z;}\/\/这是我改的程序,你对照着看看,现在没有问题了。你的程序函数调用有问题,而且最重要的一个错误是程序没有输出语句,一般c语言程序输入语句可有可无,但输出语句至少要有一个,输出语句比较多用的是 printf语句,putchar语句 ...

请教一个语言学问题~~
mental process -- a process of feeling or thinking(a process represented by a verb of feeliing or thinking)material process -- a process of “doing a thing” (a process represented by a verb of “doing a thing”).2. 属于 Semantics(语义学) 中的 Componential analysis(成分分析...

关于C语言的几个简单问题 四的1 完全不懂 用C语言写出来吗? 四的2...
上面说四(1)y = arcsin(x)*pi()\/a*a*b;没有什么问题;第二个是4.5,加号后面的顺序四从左到右的,但先算括号的 (int)(i+j)是9没有错,a%4,是7%4也就是取余数是3,怎么会是2.5.然后就是 4.5+3*9%3\/5=4.5+27%3\/5=4.5+0\/5=4.5+0=4.5.的意思是取得取余数 ...

问几个C语言scanf函数和printf函数问题?
因为读取数字时,遇到非数字字符就结束读取了,非数字字符就可以在下一次读取。所以,数字和字母之间可以不用空格隔开。读取字符的后面,如果要读取数字,空格不是必须要加的,只是看起来更清楚一点罢了(不加空格也是可以的)。第二个问题:在使用scanf()输入字母时,字母和字母之间不能有空格的(否则每...

求解一个c语言问题:从键盘输入2个正整数p和q,求p^q的结果,并在屏幕上打...
int q,p;scanf("%d,%d",&q,&p);printf("%d\\n",p^q);

沙河市15274207636: c语言简单问题2个 -
高纪陈香: #include "stdio.h" #include "string.h" main() { char ss[10]="12345"; gets(ss); //输入ABC 替换掉123 strcat(ss,"6789"); //把6789连接在ABC45后面并加上\0 printf("%s\n",ss); //打印出来ABC456789 } 设函数fun的定义形式为 void ...

沙河市15274207636: 两个C语言小问题,十分简单 -
高纪陈香: x+a%3*(int)(x+y)%2/4 //先算(int)(x+y)=2.5+7%3*7%2/4=2.5+1*7%2/4=2.5+7%2/4=2.5+1/4 //1/4是整数除,因此为0=2.5+0=2.5a/=a+a相当于a=a/(a+a) =12/24 //12/24是整数除,因此为0 =0

沙河市15274207636: 2个简单的C语言问题 -
高纪陈香: 1#include "stdio.h" void main() { int a1,b1,c1,a2,b2,c2; float x,y; printf("input funtion1:"); scanf("%d,%d,%d",&a1,&b1,&c1); printf("input funtion2:"); scanf("%d,%d,%d",&a2,&b2,&c2); x=(c1*b2-c2*b1)/(a1*b2-a2*b1); y=(c2*a1-c1*a2)/(a...

沙河市15274207636: 问大家两个最简单的C语言题目
高纪陈香: 第一题用到的是转义字符. \t:表示的是水平制表(跳到下一个TAB位置).\b:退格. \r:回车,将当前位置移到本行开头. 而\'和\''分别代表标点 ' 和''. 因此输出应该为 firssth\'r'NO.1' 第二题: %d 按十进制输出.%-m.n:输出m位,其中n位小数,不足m位的话 右补0. %md:输出m位十进制数,如果要输出的数的位数大于m,则按m实际位数输出. x=2,y=8.99 ,z=300

沙河市15274207636: 两个简单的C语言问题 -
高纪陈香: a=26/5;不会把结果转成浮点小数,因为除数和被除数都是整数5.000000第二道a++;printf("%d\n",a); 会打印2,因为代码段 { int a=20; printf("%d",a);会打印20,因为代码段中有自己的a }的a生命周期在大括号后就结束了,这里用的是 int a=1;中的a.

沙河市15274207636: C语言新手请教两个简单的问题... -
高纪陈香: void main(){ int a = 1, b = 2, c = 1; int j; double s = 0.0; for (j = 0; j < 20; j++) { s += (float)b/(float)a; c = a; a = b; b = c + b; } printf("%f5", s);}

沙河市15274207636: 求两个简单的c语言问题 -
高纪陈香: #include <stdio.h> int main(int argc, char *argv[]) { double dollarToRMB,euroToRMB,yenToRMB; double forex,rmb; scanf("%lf%lf%lf",&dollarToRMB,&euroToRMB,&yenToRMB); scanf("%lf%lf",&forex,&rmb); printf("%.2lf %.2lf %.2lf\n", forex/...

沙河市15274207636: c语言简单问题2 -
高纪陈香: 答案是B,举例说明:float n=6.124;在m=n*100+0.5这个式子中,因为n是浮点型,m是整形,类型不一致,所以编译器会把n强制转换为int类型,再加上int类型会忽略小数点之后的数,那么n此时就等于612,(如果第三位大于5,那么加上0.5之后n就成了613了),然后n=m/100,此时n就是6.12

沙河市15274207636: 几个C语言的简单问题 -
高纪陈香: char c[2]="ab"; 这样赋值会使字符串ab缺少结束符'\0';这么会出现在输出时找不到结束的位置,就会一直往后找,直到找到'\0'输出结束.char d[2]="cd";这个也同样,将其改为char c[3]="ab"; char d[3]="cd";就会得到你想要的结果. 至于得到ab,cdab,这样的结果那是因为你的内存分配的问题. str[ ]={"china"}; 在非声明同时赋值外,其他时候数组赋值都要带着具体的下标,所以str[]=...;就是错误的, 而str[]数组是char(字符型)所以不能赋予字符串.

沙河市15274207636: 简单的C语言问题 -
高纪陈香: main() int a,b,c,t; scanf("%d%d%d",&a,&b,&c); /* 输入三个数 */ printf("a=%d,b=%d,c=%d",a,b,c); /* 做比较用 */ t=a;a=b;b=t; /* 现在b原来的值变成了a的值,a原来的值变成了b的值 */ t=a;a=c;c=t; /* 这时候 a的值(其实是b的原值) 变成了c的值,也就等于b 的值给了C;*/同时C的值也给a printf("%4d,%4d,%4d",a,b,c); }

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