- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以告诉我为什么会发生这种情况吗?这里出了什么问题:
我必须打印字符串的一部分,其中要打印的字符串的起始位置和长度在输入中给出。
问题:当我在 devC++ 中运行它时,一切都运行良好并且输出正常。当我在 IDEONE 中运行它时,代码[从字符数组]不会产生输出,除非我使用 printf("%s\n",abc); 打印整个字符串;
---> 当我不使用 printf("%s\n",abc); 时http://ideone.com/BMjCku
#include<stdio.h>
#include<ctype.h>
int main()
{
long long int q;
int length=0;
scanf("%lld",&q);
while(q--)
{
int loc,cutlength=0,k=0,pos,plen=0;
char abc[100001],save[100001],c;
while(1)
{
scanf("%c",&c);
if(c=='+' || c=='?')
break;
}
if (c=='+')
{
scanf("%d",&loc); pos=loc;
cutlength=length-loc;
for(int i=loc;i<=length-loc;i++)
save[k++]=abc[i];
scanf("%c",&c);
while(!isalpha(c))
scanf("%c",&c);
while(1)
{
if(!isalpha(c))
break;
abc[loc++]=c; length++;
scanf("%c",&c);
}
length+=pos+cutlength;
for(int i=0;i<k;i++)
abc[loc++]=save[i];
}
else if(c == '?')
{
if(&abc[0] == &abc[0]);
scanf("%d%d",&loc,&plen);
loc--;
while(plen--)
printf("%c",abc[loc++]);
printf("\n");
//printf("%s\n",abc);
}
}
return 0;
}
---> 当我使用 printf("%s\n",abc); 时http://ideone.com/Y6Sh5K
最佳答案
c == '?'
block 中的代码在未初始化时使用数组 abc
。
您似乎认为当您进入下一个循环迭代时,由 c == '+'
block 放入 abc
的数据应该保留。然而事实并非如此:abc
对于 while(q--) {
打开的 block 来说是本地的,因此每次循环迭代它都会被销毁并重新创建。
它可能在 Dev-C++ 上工作,因为它不进行检查,并且每次都重复使用同一 block 内存。
我猜您想将循环开始时的部分或全部变量声明移至循环之前。
关于c - IDEONE 字符串操作的奇怪输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24979518/
有人可以告诉我为什么会发生这种情况吗?这里出了什么问题: 我必须打印字符串的一部分,其中要打印的字符串的起始位置和长度在输入中给出。 问题:当我在 devC++ 中运行它时,一切都运行良好并且输出正常
这段代码有问题http://www.spoj.com/problems/BASE/它在 windows 和 linux 上运行良好,但是当我在 ideone 上运行它时,它没有显示任何输出。谁能告诉我
/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import
我正在用 C 语言编写一个程序,用于查找两个排序数组的交集。当我在我的机器上使用 GCC 编译并运行该代码时,该代码工作正常,但在 ideone.com 上出现运行时错误。 这是Live link到下
我的程序有什么问题?它在我的 PC 上运行良好,但在 IDEone 中它提供了正确的输出,但显示运行时错误。请帮忙。 #include using namespace std; struct stud
好吧,我在 Ideone 上搞砸了并意外提交了这段代码,但令我惊讶的是它实际上编译并运行输出值 0,here . #include using namespace std; const int fi
我写了下面的代码: #include using namespace std; int main() { int v() return 0; } 我在 ideone 中运行了它,编译
我为我的家庭作业创建了一个程序,我尝试在 ideone.com 上测试它,但我得到一个错误: Exception in thread "main" java.lang.NullPointerExcep
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我最近试图在 ideone.com 中运行这段代码... #include #include using namespace std; int getVal(string name) {
请你告诉我我做错了什么。我认为我的代码工作正常,但未通过 Ideone 测试。 do{ linia = reading.nextLine(); try{ number
考虑下面的程序: #pragma startup foo1 #pragma exit foo2 void foo1() { printf("Called before main\n"); }
import java.util.Scanner; public class Admit { // the main method has minimal dialogue and just
我正在使用 ideone 作为在线 c++ 编译器。当我保存一个代码时,ideone 给出了一个随机名称,例如 lnzr40 稍后可能会造成混淆(当我想打开特定代码时)。我想在编写/保存代码时更改该名
我正在尝试远程指导我办公室的几个人使用 Python,最简单的方法似乎是向他们展示这些简单的 Python 示例如何...... http://wiki.python.org/moin/SimpleP
我正在尝试通过比较 Visual Studio 的输出与 GCC 的输出来调试我在 Visual Studio 中遇到的问题,但我似乎无法获得要在 Ideone 中编译的极其简化的代码版本: #inc
我想建立自己的在线编译器。我想为此使用 Ideone Api。但其 api 以 WSDL 格式提供。我非常努力地尝试,但可以找到任何关于如何从 WSDL 中提取数据的教程。请告诉一些使用 Ideone
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在尝试编写一个程序,该程序接受语法不正确的文本(长度低于 990 个字符)作为输入,对其进行更正,然后返回更正后的文本作为输出。我尝试使用在线编译器“ideone”运行该程序,但它返回了很多我不太
以下代码计算输入整数的阶乘。我在 Codeblocks 中运行了 2 个测试用例 - 9 和 2,并得到了正确的输出。对于相同的输入,ideone 将 2 的阶乘输出为 6,但它正确输出 9 的阶乘。
我是一名优秀的程序员,十分优秀!