C语言错误 直接复制有什么问题?

发布于 科技 2024-06-02
11个回答
  1. 匿名用户2024-01-29

    printf("letter:%d,digit:%d,space:%d,others:%d",letter,digit,space,others);

    这句话后面应该有一个 return 语句。

    else if (strcmp(str[i],''==0)也有故障。你把它和书比较,你写错了吗?

  2. 匿名用户2024-01-28

    strcmp() 函数可以采用以下形式使用:

    int strcmp(const char* str1, const char* str2);

    把else if (strcmp(str[i],'')==0)

    更改为 else if (str[i]==' ') 来执行此操作。

    程序如下:包括""

    #include

    int letter,digit,space,others;

    int main()

    int count(char str)

    char text[80];

    gets(text);

    letter=0,digit=0,space=0,others=0;

    count(text);

    printf("letter:%d,digit:%d,space:%d,others:%d",letter,digit,space,others);

    int count(char str)

    int i;

    for(i=0;str[i]!='\0';i++)

    if((str[i]>='a'&&str[i]<='z')||str[i]>='a'&&str[i]<='z'))

    letter++;

    else if (str[i]>='0'&&str[i]<='9')

    digit++;

    else if (str[i]==' ')

    space++;

    else others++;

  3. 匿名用户2024-01-27

    首先,让我们用这种 C 语言回答错误的原因:

    第一个 gets 是未定义的:

    出现此错误通常是因为未包含相应的头文件,或者库没有此功能。 这里不应该有这样的功能。 gets(char *dest) 是一个旧的库函数,使用这个函数存在安全风险。

    它只有一个参数,如果输入的字符数超过dext内存空间中的字符数,程序可能会失败,或者黑客可能会利用此漏洞进行异常操作。 你可以改用 fgets(char *dest, int size, file *fp),这可以通过使用第二个参数设置最大输入来解决上述问题。

    后三个 strcat 参数 2 类型不匹配:

    strcat 的第二个参数在语言 char * 中,调用时 jiji[i] 是 char,可以写成 &jiji[i],改语法后没有问题,逻辑要自己评估。

    第四个返回局部变量 re:

    rE 是 LAI 函数内部的一个数组,在堆栈中,当函数执行时,它会释放资源。 堆栈中的空间可能会在其他地方使用,并且内容可能会被更改。 建议不要返回局部变量。

    这就是这个语法错误的答案。

    添加附加

    总体来说,这个****比较长,for循环比较多,后面会优化一下。 先实现功能,再优化。 这是您可以参考的**。

  4. 匿名用户2024-01-26

    您的编译器版本是新的,在 C11 中删除了 gets 函数,并且不再有此函数。

    jiji[i] 的类型是 char,strcat 的第二个参数应该是 const char*,当然不是。

  5. 匿名用户2024-01-25

    我已经为你完成了对你的C语言程序的修改,所以看看吧(有很多变化,所以你自己和原来的程序比较一下)。

    #include

    #include

    #define n 100

    #define s 101

    #define z 26

    char lai(int i),k,j,ch;

    char s[s][n]=,r[s][n]=,b[2]=;

    scanf("%d",&n);

    for(i=0;iscanf("%s",s[i]);

    for(i=0;ifor(k=0;s[i][k]!=0';k++)else if(ji[j][i]==1){

    b[0]=lai(i);

    strcat(r[j],b);

    for(i=0;iprintf("%s",r[i]);

    return 0;

  6. 匿名用户2024-01-24

    求三角形每个角的度数的公式缺少分母的括号,其余的都是正确的。

    完整的 C 程序<>如下(注意公式中分母中的括号)。

  7. 匿名用户2024-01-23

    nan 是的"not a number",即计算结果不是数字。

    Ind 是 Indedefinite 的缩写,即无法确定它是什么。

    诸如负数的平方、负数的对数、除以、乘以无穷大、除以无穷大等错误都会得到它。

  8. 匿名用户2024-01-22

    你是一个数学问题,而不是一个编程问题

    余弦公式为

    cosa=(b*b+c*c+a*a)/(2*b*c)

  9. 匿名用户2024-01-21

    十进制溢出无法表示,所以让我们先看一下 cosa,b,c 的输出。

  10. 匿名用户2024-01-20

    【错误】ld returned 1 退出状态是放在 main 函数之外的函数声明,声明是 FAC 函数,但是使用时写成 F,所以结果不正确。

    可能原因:1 黑匣子在运行吗?

    2 main有问题吗?

    解决方法:1、如果背景中已经有黑框再运行,则结束黑框;

    2.如果没有黑眼圈,可能是main函数有问题,可以检查函数的定义是否写入main函数中。

    #include

    float count(int a, int b, int c, float x);

    int main(void)

    int a = 0, b=0, c = 0;

    float x = 0, y =0;

    printf("请按顺序输入三元方程的系数 a、b 和 c x; 系数和 x 用空格键分隔:");

    printf("%f", count(a, b, c, x));

    *以下函数定义写入 main 函数,并报错信息:[error] ld returned 1 exit status*

    float count(int a, int b, int c, float x)

    float y = 0;

    y = a*x*x*x+b*x*x+c;

    return y;

    return 0;

  11. 匿名用户2024-01-19

    1.您定义的数组的大小仅为 10 个数字。

    如果找不到 x,则将 x 添加到数组中,这将导致数组越界。

    2。在加法的过程中,你直接给指针p赋值x,这是不对的,p只接收地址,不接收值。

    它只是将数组 w 的第一个地址传递给 p,而不是将整个数组传递给 p。

    4。不要在循环中使用 printf 语句,因为它很容易导致循环一次打印语句。

    这不是想要的结果,你可以在循环中,在if语句中标记它。

    然后将 print 语句写在循环之外。

    #include

    #definesize

    定义了较大的数组,以便稍后添加的数字不容易越线。

    voidmain(),p,x,flag=0,count=0,n=10;

    printf("请输入您要查找的号码:")

    scanf("%d",&x);

    for(p=w;p 使用指针作为循环条件,n 是初始化数组的数量。

    if(flag==0)

    这里是判断是否找到,1是找到的,0是没有找到的。

    elseprintf("%d 出现在数组中的 %d 位置。 ",x,count);

相关回答
12个回答2024-06-02

PE 格式错误。

RE运行错误一般是运行过程中的内存溢出,数值超过上下限,时间到期,算法需要优化。 >>>More

11个回答2024-06-02

数据显示,自2005年人民币汇率改革以来,人民币兑美元升值了30左右,而同期美国的失业率从7上升到9以上。 >>>More

6个回答2024-06-02

这是一个只读变量,根本不是常量,输出只是因为 consult 声明的变量是由编译器宏定义的。 你可以用 gcc 来查看编译生成的编译**,结果很明显。

16个回答2024-06-02

C 标准不输出二进制文件,而是使用 itoa()。 >>>More

13个回答2024-06-02

#include

#define n 100 >>>More