[TestClass]
public class UnitTest1
{
[TestMethod()]
public void TestMethod1()
{
// Arrange
String expected = "text";
//a ACT
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/&hl=pl#identifier");
driver.Manage().Window.Maximize();
IWebElement email = driver.FindElement(By.XPath("//*[@id='Email']"));
email.Clear();
email.SendKeys("myemail");
IWebElement buttonElement = driver.FindElement(By.XPath("//*[@id='next']"));
buttonElement.Click();
var wait1 = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(10));
var password = wait1.Until(wd => wd.FindElement(By.XPath("//input[@id='Passwd']")));
password.Clear();
password.SendKeys("mypassword");
IWebElement login = driver.FindElement(By.XPath("//*[@id='signIn']"));
login.Click();
expected = driver.FindElement(By.ClassName("z0")).Text; //<-DOES'NT WORK
// Assert
Assert.IsTrue(expected.Contains("text"));
}
}
插入此序列后的序列:235,225,2,2,2,365,11,2
它出现以下错误
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void print(int *iArray,int limit)
{
int counter=0;
while(counter<limit)
printf("%d ",iArray[counter++]);
printf("\n");
}
int main()
{
int counter=0;
int *iArray=NULL;
char str[5]="abc";
printf("Enter numbers : ");
while(1){
scanf("%s",str);
if(strcmp(str,"s")==0) break;
iArray=realloc(iArray,counter+1);
iArray[counter++]=atoi(str);
}
print(iArray,counter);
return 0;
}
答案 0 :(得分:1)
改变这个:
iArray=realloc(iArray,counter+1);
到此:
iArray=realloc(iArray,(counter+1)*sizeof(*iArray));
因为您需要说要分配大小的空间。在您的代码中,您说分配counter + 1
空间。 什么?现在,根据我的建议,您将counter + 1
分配给iArray
指向的地方(int
),这更有意义,对吧? ;)
检查ref:
更改ptr。
指向的内存块的大小该功能可以将存储块移动到新位置(其位置) 地址由函数返回。
内存块的内容保留到较小的内容 新旧尺寸,即使块移动到新位置。如果 新大小越大,新分配的值就越大 不确定的。
PS:下次格式化代码。
答案 1 :(得分:1)
看看realloc的原型:
void *realloc(void *ptr, size_t size);
它的第二个arg是size,以字节为单位,你要分配一个整数数组,你需要整个数组的大小,而不是元素的数量,而是使用它:
iArray=realloc(iArray, (counter+1) * sizeof(int));
答案 2 :(得分:0)
那是因为在每次迭代时,realloc()只分配比count
的值多一个字节。即在第一次迭代中,您分配一个字节。但是你存储了atoi()的结果,它的大小是int
。