-
for (i=0;ii 未定义,在它前面添加一个 int i;
char mingcheng[100];是一个字符数组,,100);而是要读字符串。
改为char*明城[100];
从表面上看,这是一个错误,你不明白你要做什么。
-
修改成功,您将其运行。
#include
using namespace std;
main ()
cout<< "how many cars do you wish to catalog?";
int x;
char *mingcheng[100];
int shuliang[100];
cin >>x;
for (int i=0;i> shuliang[i];
cout <<"here is your collection:";
for (i=0;icout
-
我不明白你**的目的。 两个 for 循环中的 i 均未定义。
-
有两个严重的错误:
1.程序结构有问题。 根据你的**,你可能知道你要反复判断输入的分数是否合法,然后再判断测试后的分数是否合法。 但是这个程序不这样做,如果你按照你的**流程,一般流程如下:
输入分数 -> 判断分数是否大于 100(如果是,则执行 if中的**,这里我就不赘述了) -输入分数 ->判断分数是否小于 100 -> 输入分数 ->判断分数情况(即剩余的 if else if 语句)。
这个过程显然是不正常的。 如果这是您想要的,您可以忽略此错误。
如果没有,则需要更改。 我认为程序结构可以是这样的:定义一个无限循环,同时输入它并确定输入是否有效。 如果它是合法的,就把它打破来,如果它不合法,就继续执行它。
2.最终的if判断有问题。 第 24 行中的 if 语句写错了,逻辑等号写成了赋值符号(即“==”写成了“=”)。
在这种情况下,if 的条件将由 score 的值判断为 true 或 false(取决于分配给该行的分数,non-0 为 true,0 为 false)。 此行的 if 条件是分配 100 的分数,这将导致条件始终为 true。
更正此问题的方法是将“=”更改为“==”。
-
这里 s 是数组的名称 (char s[ ],p 是指针变量。
在数组中,数组的名称表示数组开头地址处的常量,因此这里的数组名称等效于 &s[0]。
p 用作指针,地址存储在其中,因此 p=s 等价于 p=&s[0];。 它是分配给 p 指针的 s 的第一个地址。 在 p++ 之后,您可以依次获取数组中所有元素的地址。
*p 是指 p 指向的地址的值。 如果要为 *p 赋值,则必须首先为 p 赋值(即 p 必须指向地址)。 如上所述,p 指向 p=s 之后的 s[0] 地址。
如果继续写 *p='a';这是关于把角色'a'该值分配给 s[0] 的地址。 s[0] 是'a'。
所以你不能在这里写 *p=s。
定义函数是括号中的参数,例如上面的 void fun(char s,int n),其中 s,n 是表单的参数。
当您调用此函数 fun(s,n) 时; 这里的 s,n 是实际参数。
-
p 为指针,p = s 为输入参数 s 的地址赋给 p;
p 是在地址 p 处获取的值。
p = s 是错误的。
从**本身和运行情况来看,可执行程序的内容与粘贴的**不匹配(可能是修改后没有重新编译,而修改前的**运行,否则不会**现在出现可以编译传递的错误,例如第二行末尾有更多的“op”, 和“现有1人捐款无产出”),修改建议如图所示: