初学者,看看出了什么问题,初学者学习C语言是为了帮助发现错误

发布于 科技 2024-08-12
20个回答
  1. 匿名用户2024-02-01

    比如2楼,应该用sum=sum+sign*(1 i),这很明显,你可以自己调试一下找到。

    但是有一个隐藏的错误不容易被发现,你肯定会在运行几次后找到它。

    既然 i 被定义为 int,那么 1 i 的结果只能是整数,而当 i > 1 时,1 i 的结果是 0

    则总和输出为 2

    如果要实现小数点,应该使用 sum=sum+sign*(,或者将 i 定义为 float,这是编译器的一种机制,当一个计算的两边都是 int 时,那么计算的结果也是 int,只需将运算符的左值或右值改为 float,那么运算的结果就可以变成 float 了

  2. 匿名用户2024-01-31

    i=sign*i 错了。

    你使用 i=i+1,它很乱。

    您只需使用 sum=sum+sign*(1 i)。

  3. 匿名用户2024-01-30

    #include

    #include

    int max;

    int larger(int a, int b, int c) 比较 3 个数字并得到它们的最大值。

    int main(void)

  4. 匿名用户2024-01-29

    兄弟,你确定这里是这样用的吗?

  5. 匿名用户2024-01-28

    呃,,错误很多,main里没有空隙,而且在scanf里你看一个%d呵呵。还有一个函数体类型的 int。 我会试试,看看是不是该送你了。 楼下是正确的解决方案。

  6. 匿名用户2024-01-27

    #include

    void main()

    int max 3 (int a, int b, int c ) 的比较可以使用三元运算符 n= a > b ? a : b;

    int max 2(a,b) 函数定义应添加的变量类型,int max 2(int x,int y)。

  7. 匿名用户2024-01-26

    数组定义了两次?

    中间的if(max>a[i][j])不应该改为“如果这是帝国登记册的最大值”吗?

    main 函数 return max 将不租用任何东西并输出肢体。

  8. 匿名用户2024-01-25

    1.重复定义一个数组,2当弹簧蒙皮 max>a[i][j] 是返回最大值时,则不执行 printf;

    如果你想在数组中获得最大的笑差,你应该把 return 放在 printf 之后。

  9. 匿名用户2024-01-24

    数组必须在定义数组的同时进行初始化。

    我还想问,你想通过这个程序实现什么? 看起来有点小问题。

  10. 匿名用户2024-01-23

    "12465fseszdfdxcorek"这是一个常量,表示语句中字符串的第一个地址,char* a ="12465fseszdfdxcorek"这句话是给指针a赋值常量字符串的第一个地址,因为它是一个常量,所以它的值不能改变,所以跑到句子*(a+i) = *(a+j)时会出错。 通常,在将常量字符串分配给指针时,应在指针上添加 st,以指示指针 a 不能修改指向字符串的值。

    正确的做法是将字符串存储在数组中,或者像这样:

    char* a=new char[strlen("12465fseszdfdxcorek")+1];

    strcpy(a,"12465fseszdfdxcorek");

    请求一个空间来存储字符串 new 通过,用 a 指向它,然后将字符串复制到其中!

    楼下你错了,你不知道strlen的原理,strlen就是从第一个地址开始计算元素的数量,直到遇到空字符'\0'end,所以你可以使用strlen(a)!

  11. 匿名用户2024-01-22

    似乎缺少一个包含

    我写道:只需将 char*a="12465fseszdfdxcorek";

    改为:char a[20]="12465fseszdfdxcorek";

    这样做的原因是你声明的字符 *a 只是一个指向下一个字符串的第一个地址的指针,而不是整个字符串,所以 strlen() 无法返回它应该有的长度。

    好像和楼上差不多,已经编好了!

    建议送给楼上的那家,很不错!

  12. 匿名用户2024-01-21

    这是因为 char*a="12465fseszdfdxcorek";定义的字符串是常量的方式,并且由于它是一个常量,因此只能访问它,而不能更改其值。 一楼不对,a是它的第一个地址,这意味着你也可以这样访问它:char s=a[2]; 此时,s='4'。

    就这样去做吧。

    char a[20] = "12465fseszdfdxcorek";

  13. 匿名用户2024-01-20

    我想你。

    for(int i=0;我应该改为阅读。

    for(int i=0;i

  14. 匿名用户2024-01-19

    如果要修改字符串的内容,请不要定义字符指针,而是修改字符数组,如下所示:

    #include

    using namespace std;

    int main()

    cout <

  15. 匿名用户2024-01-18

    一楼回答得很全面,变更程序应该从第一个变更,可能会有很多错误,都是第一个错误造成的,第一次变更背后的错误可能会消失。

  16. 匿名用户2024-01-17

    没办法覆盖,midlet类里还有个方法就是抽象的,而且这里你没有实现,看错误提示应该是,我还没做过j2me,不清楚。

  17. 匿名用户2024-01-16

    程序没有错误,也许是模拟器有问题,可以换个wtk版本试试。

  18. 匿名用户2024-01-15

    你的编译会通过吗? Alt+1 实现未实现的方法。

  19. 匿名用户2024-01-14

    最后一个分号应该是半角; ,而不是中文全宽。

  20. 匿名用户2024-01-13

    return 0;这个分号是中文符号,改成英文就行了。

相关回答
18个回答2024-08-12

同一个外部变量在两次函数调用期间保留其先前的值,这意味着放置在堆中的变量(全局变量以及用静态修饰的局部变量都放置在堆中)不会在函数调用结束时被销毁(函数中定义的局部变量放置在堆栈中, 并且堆栈在函数调用完成后被销毁,除非用 static 修改它),并且它的值将保持不变,直到它被函数重新分配。 >>>More

8个回答2024-08-12

三点: 1.if 语句后面的条件应该是取余数,n%i==0 >>>More

8个回答2024-08-12

从**本身和运行情况来看,可执行程序的内容与粘贴的**不匹配(可能是修改后没有重新编译,而修改前的**运行,否则不会**现在出现可以编译传递的错误,例如第二行末尾有更多的“op”, 和“现有1人捐款无产出”),修改建议如图所示:

5个回答2024-08-12

在你决定现在学习任何其他语言之前,你是否必须看看该语言的任何成功项目? 没有必要只问C语言,因为世界上所有最重要的系统都必须有C语言。 例如,操作系统内核、基础高级语言等。 >>>More

6个回答2024-08-12

float fahrenheit, celsius;声明了两个浮点数据华氏度和摄氏度 >>>More