我正在使用字符串.
每当我执行下面的程序时,我都会收到一个错误,因为在行中c*的字符串常量被转换为'char 'char *p = "hello"
我究竟做错了什么?
这个错误是什么意思?我怎么能纠正它?
我的代码是:
#include<stdio.h>
int main()
{
char *p = "hello";
printf("%s",p+1);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 机器人位于4x4网格的左上角.机器人可以向上,向下,向左或向右移动,但不能两次访问同一地点.机器人正试图到达网格的右下角.它可以到达网格右下角的方式是多少?
现在我知道如果机器人只能向下或向右移动,那么答案将是8C4,因为它必须以任意顺序向右移动4个方格,向下移动4个方格.
但是当机器人可以向左和向上移动时,我很难解决问题!?
我只需要一个提示来解决问题!我应该如何处理这个问题?
我正在尝试用数组实现堆栈!每次我执行程序运行正常,但我收到警告,因为默认情况下忽略了空字符
这个警告意味着什么?我做错了什么?
我的代码是:
#include<stdio.h>
#include<stdlib.h>
# define MAX 10
int top=-1;
int arr[MAX];
void push(int item)
{
if(top==MAX-1)
{
printf("OOps stack overflow:\n");
exit(1);
}
top=top+1;
arr[top]=item;
}//warning
int popStack()
{
if(top==0)
{
printf("Stack already empty:\n");
exit(1);
}
int x=arr[top];
top=top-1;
return x;
}
void display()
{
int i;
for(i=top;i>=0;i--)
{
printf("%d ",arr[i]);
}
return;
}
int peek()
{
if(top==-1)
{
printf("\nEmpty stack");
exit(1);
}
return arr[top];
}
int main()
{
int i,value;
printf(" \n1. Push to stack");
printf(" \n2. …Run Code Online (Sandbox Code Playgroud) 我在c中处理指针,当我运行以下代码时,我得到"l"作为输出!为什么?
char *s = "Hello, World!";
printf("%c", 2[s]);
Run Code Online (Sandbox Code Playgroud)
2 [s]表示什么?
这种方法是否错误,以确定树是否是BST?节点的左子树仅包含键小于节点键的节点.节点的右子树仅包含键大于节点键的节点.左右子树也必须是二叉搜索树.我的代码是:
isBST(struct node* node)
{
if (node == NULL)
return 1;
if (node->left != NULL && node->left->data > node->data)
return 0;
if (node->right != NULL && node->right->data < node->data)
return 0;
if (!isBST(node->left) || !isBST(node->right))
return 0;
return 1;
}
Run Code Online (Sandbox Code Playgroud) 我最近遇到了一个面试问题,关于以下代码的隐藏问题是什么.我无法察觉它.任何人都可以帮忙吗?
#include<stdio.h>
int main(void)
{
char buff[10];
memset(buff,0,sizeof(buff));
gets(buff);
printf("\n The buffer entered is [%s]\n",buff);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我必须找到一个递归函数,通过反复将它分成2个几乎相等的部分来找到数组的总和?
我的方法应该是什么?我该怎么办?
我不要求代码!只是提示或方向来解决这个问题!
我正在设计一个收银机,我必须比较2个浮点值,每次比较时我都会收到错误.ie因为我无法将最多2位小数的差值四舍五入并将其与值进行比较.
例如.如果客户支付的金额为60.36且发出的账单为30.24,则差异为30.120001.我甚至尝试使用floor函数将其四舍五入为二位数:floorf(diff*100 + .5)/ 100; 但它不起作用.
我应该如何舍入十进制数字并将其用于设计收银机?
如何阅读 ";" 从c中的文件中分离出字符串?我使用以下方法:
char c;
c=fgetc(fp);
while(c!=EOF)
{
int k=0;
if(c=='\n')
c=fgetc(fp);
while(c!=';')
{
str1[k]=c;
k++;
c=fgetc(fp);
}
str1[k]='\0';
c=fgetc(fp);
k=0;
while(c!=EOF && c!='\n')
{
str2[k]=c;
k++;
c=fgetc(fp);
}
str2[k]='\0';
Seq(str1,str2);
printf("\n");
if(c==EOF)
{
break;
}
else
c=fgetc(fp);
}
Run Code Online (Sandbox Code Playgroud)
输入文件:
Run Code Online (Sandbox Code Playgroud)Hello;world Male;Female where;who
我必须读取不同的字符串值,然后将它们传递给Seq(hello,world)等函数.依此类推
有更好的方法吗?