小编fud*_*din的帖子

编译器错误:无法将char*转换为char

我正在尝试创建一个类似strlen()string.h 的函数

它给了我错误 can not convert char* to char

#include<stdio.h>
#include<conio.h>

int xstrlen(char string);

void main(void) {
  char string[40];
  puts("Enter string:");
  gets(string);
  printf(" %s is the length of %d", string, xstrlen(string));
}

int xstrlen(char string[]) {
  int i;
  for (i=0; ; i++) {
    if (string[i] == '\0')
      break;
  }// for ends
  return i;
}
Run Code Online (Sandbox Code Playgroud)

c pointers compiler-errors

0
推荐指数
1
解决办法
5199
查看次数

编译说声明丢失;

我在这段代码中遇到两个小问题,但我无法得到它们.我已经提到了编译器给出错误的位置.下面给出了两个:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define SIZE 100
int count;

void menu(void);
void input(int[]);
void print(int[]);
void insert(int[]);
void delete_element(int arr[]);
void search(int arr[]);

void main(void)
{
  int arr[SIZE];
  char choice;
  while(1)
  {
    menu();
    choice=getche();
    switch (choice)
    {
      case'1':input(arr);break;
      case'2':delete_element(arr);break;
      case'3':insert(arr);break;
      case'4':print(arr);break;
      case'5':search(arr);break;
      case'6':exit(0);//from stdlib.h
      default:printf("Enter valid choice!");
    }

    getch();
  }

void print(int arr[])
{    // says declaration syntax error here
  int i;
  for(i=0;i<count ;i++)
    printf("element is %d",arr[i]);

}

void input(int arr[])
{
  if(count<SIZE)
    for(count=0; ;count++)
    {
      printf("Enter element %d:",i+1);
      scanf("%d"&arr[i]); …
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
1
解决办法
2816
查看次数

使用宏转换为大写

我已经被赋予了一个任务,通过使用宏来将小写字符转换为大写.问题是我从未被引入宏.我只知道它的名字#define名称大小..请任何人都可以指导我这个问题

c

0
推荐指数
2
解决办法
7562
查看次数

递归函数找到素数因子

我做了一个递归函数来找到一个数字的素因子,但是它有一个让turbo c退出的错误.请帮忙

#include<stdio.h>
#include<conio.h>
int prime(int num);
int primefactor(int num,int i);
void main(void)
{
    int num;
    printf("Enter a number whose prime factors are to be calculated:");
    scanf("%d",&num);
    primefactor(num,i);
     i=num 
    getch();
}
int primefactor(int num,int i)
{
    if(i==2)
    return 1;
    if(num%i==0)
    {
        if(prime(num))
        {
            printf(",%d",num);
            num=num/i;
            i++;
        }


    }
    i--;
    primefactor(num,i);
    return 0;
}
int prime(int num)
{
    int i,flag;
    for(i=2;i<num;i++)
    {
        if(num%i==0)
    flag=0;
    }
    return flag;
}
Run Code Online (Sandbox Code Playgroud)

c recursion

0
推荐指数
1
解决办法
3万
查看次数

按字母顺序排列字符串

/*编写程序以按升序对数组中输入的名称进行排序*/当我在数组中输入名称时程序停止.任何人都知道为什么?

#include<stdio.h>
#include<string.h>
void main(void)
{
/*  write a program to sort names entered in an array in ascending order */
    int in,out,i,x;
    char temp[30],string2d[5][30];
    printf("ENTER NAMES IN THE ARRAY:");
    for(i=0;i<5 ;i++)
    {
        gets(string2d[i]);
    }
        for(out=0;out<5-1;out++)
        {
            for(in=out+1;out<5;in++)
            {
                x=strcmpi(string2d[out],string2d[in]);
                if(x>1)
                {
                    strcmpi(temp,string2d[out]);
                    strcmpi(string2d[out],string2d[in]);
                    strcmpi(string2d[in],temp);
                }
            }
        }

    for(i=0;i<5;i++)
    {
        puts(string2d[i]);
    }
    getch();
}
Run Code Online (Sandbox Code Playgroud)

我已经看到了注释并对实际程序进行了更改,但程序仍然在循环和i之间循环

c

0
推荐指数
1
解决办法
4037
查看次数

预处理程序指令不起作用

我创建了一个删除空格的程序,并通过预处理程序指令使字符串大写.不会更改为大写

#include <stdio.h>
#include <conio.h>
# define TOUPPER(x) (x-32)
void main(void)
{
    int i,j;
    char str[100],*p;
    clrscr();
    printf("Enter the string:\n");
    gets(str);
    for(i=0;    ;i++)
    {
        if(str[i]=='\0')
        break;
        if(str[i]==' ')
        {
            for(j=i;    ;j++)
            {
             str[j]=str[j+1];
             if(str[j]=='\0')
             break;
            }
         }
         if(str[i]<='a'||str[i]>='z')
         {
            *p=str[i];
            TOUPPER('p');

         }


        }
        puts(str);
    getch();
}
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
1
解决办法
364
查看次数

请有人帮我解释一下链表吗?

我已经尝试了很多东西来学习链表.但我所有的努力都被浪费了.请有人帮我通过提供他/她自己的代码来理解链表吗?在此先感谢.

c linked-list

0
推荐指数
1
解决办法
405
查看次数

执行strstr()函数

代码在许多地方说"无效的间接".请帮忙.

   int main()
    {

        char *s1,*s2,*position;
        printf("Enter string:\n");
        gets(s1);
        printf("Enter word to find:\n");
        gets(s2);
        *position=ststr(*s1,*s1);
        if(*position)
        printf("word is found at %c loc\n",*position);
        else
        printf("word not found");
        getch();
        return 0;

    }

char *strstr(char *s1,char *s2)
{
    int flag=1;
    char i,j;
    for(i=0; ;i++)
    {
        if(*s1[i]==*s2[0])
        for(j=i;*s2;j++)
        {
            if(*s1[j]!=*s2[j])
            flag=0;
        }

    }
    if(flag)
    return i;
    else
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
1
解决办法
4万
查看次数

2d阵列混乱

为什么2d数组的内存是由两个参数访问的,而不仅仅是一个(忽略指针).为什么内存图是按行和列而不是直的(水平),为什么它说为什么呢2d数组是一个数组的数组,但我不明白.

c

0
推荐指数
1
解决办法
217
查看次数

Quine Confusion.Quine打印什么?

是否打印出程序的ACTUAL代码,即没有混淆或是否打印出混淆程序?

c quine

0
推荐指数
2
解决办法
509
查看次数

标签 统计

c ×10

compiler-errors ×1

linked-list ×1

pointers ×1

quine ×1

recursion ×1