首页 > 软件 > 请问为什么这个程序输出都为1,与输入s1和s2无关

请问为什么这个程序输出都为1,与输入s1和s2无关

软件 2022-09-12

请c语言高手帮我解答一下,为什么结 果为1

首先,函数 strcmp的用法是比较两个字符串,返回第一处不同的地方的位置(不是不同的内容)。 程序中s1+=2的意思是将s1指针指向的地址往后移2位,即 s1开始时指向字符串“AbdeG”的首地址,也就是字符“A”处,s1+=2操作之后,s1指向字符“d”处;同理s2+=2操作之后,s2指向字符串“AbdEg”中字符“d”处;其实,就可以看成 s1=“deG”,s2=“dEg” 所以,在用strcmp比较的时候,返回值是1,也就是eE这个字符不同。(字符d的位置是0号)

如图,为什么这个程序python输出结果总为1 新人求教

首先我得从头分析下这个程序:第一行至第六行导入了模块和设置了变量,但是为什么k要设置两次呢?第七行开始了一个while循环,循环条件是k小于200。第八行调用了pow()函数,函数的两个参数是k乘n加c和三分之一。 如果你和我一样用的是Python2.7.8的话,那这就是问题点了。因为Py2.7.8除法是自动四舍五入成整数的,所以它自动运算成0,任何数的零次方都是1,你要不换个新版本,要不直接手动输入0.33333333333333333333333(Python无法算出太多小数位so你直接长按3就好了:) 如果以上回答对你有帮助的话,记得采纳哦~谢谢你的支持

C++ 二维数组 编写一个程序,输入两个字符串s1、s2

#include
#include
#usingnamespacestd;
intmain()
{
strings1,s2;
cin>>s1>>s2;
if(s1>s2)
cout<<1<else
if(s1==s2)
cout<<0<else
cout<<-1<return0;
}

这是用指针复制字符串,从S1复制到S2中。。请问为什么不能输出S1???

你一共犯了四个错误 首先以下为正确程序,经验证无误: #include "stdio.h" main() { char *p,*q,*a; // // char s1[80],s2[80]; p=new char[80]; // q=new char[80]; p=s1; q=s2; gets(s2); printf("s2:%s\n",s2); a=p; for(;*q!='\0';p++,q++) // { *p=*q; } *p='\0'; p=a; printf("s1:%s",p); } 首先,一个字符串最后一个字符是'\0'而不是’\o',这个错误出现了两次。 其次,定义的指针变量

程序目的是要输出S1,S2,S3,现在好像都错误的,哪位高手帮改改啊!!!

滥用指针 首先,搞不懂为什么为了存储一个int,你还要用到指针,还要new? 然后,在一些代码里,对指针赋值,一些又对指针指向的变量赋值,不知道你究竟想干嘛。 指针与指针指向的变量混淆使用。 把代码给你大概修改了一下,到可以运行的程序,你自己看下吧。 class SimpleCircle { private: int itsRadius; public: SimpleCircle(); SimpleCircle(int a); SimpleCircle(SimpleCircle &b); ~SimpleCircle(); void SetRadius(int a); void Incremen

标签:编程语言 信息技术 编程 CC++ C(编程语言)

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18