我已经搜索过但无法解决为什么我在for循环中声明它时会出现此错误的原因?
#include <cs50.h>
#include <stdio.h>
#include <string.h>
int main (void)
{
char* sur;
char* space = " ";
char* name = GetString();
printf("%c\n", name[0]);
for(int i = 0, n = strlen(name); n < i; i++);
{
if (strcmp(name[i],space)==0)
{
sur = name[i + 1];
}
else
{
return 0;
}
}
printf("%s\n", sur);
}
答案 0 :(得分:3)
循环声明后你有一个额外的分号:
<dom-module id="my-iron-list">
<template>
<iron-list items="[]" as=item id="list" scroll-target="[[scrollTarget]]">
<template>
<div class="item">[[item]]</div>
</template>
</iron-list>
<iron-scroll-threshold
id="scrollTheshold"
lower-threshold="100"
on-lower-threshold="_loadMoreData"
scroll-target="[[scrollTarget]]">
</iron-scroll-threshold>
</template>
<script>
Polymer({
is: 'my-iron-list',
properties: {
page: {
type : Number,
value : 0
},
perPage: {
type : Number,
value : 100
},
scrollTarget: HTMLElement,
},
_pushPage: function() {
for (i = 0; i < this.perPage; i++) {
this.$.list.push('items', 'Entry number ' + (i+1+this.page*this.perPage));
}
},
_loadMoreData: function() {
this._pushPage();
this.page = this.page + 1;
this.$.scrollTheshold.clearTriggers();
}
});
</script>
</dom-module>
这会导致您的变量for(int i = 0, n = strlen(name); n < i; i++);
和i
在您预期的循环体中未声明
答案 1 :(得分:1)
原因是;
结尾:
//...
for(int i = 0, n = strlen(name); n < i; i++)
//...
答案 2 :(得分:1)
class ImportExportError(Exception):
"""A generic exception for all others to extend."""
pass
class FieldError(ImportExportError):
"""Raised when a field encounters an error."""
pass
您不能在 for(int i = 0, n = strlen(name); n < i; i++);
- 循环声明的末尾放置一个分号。 for
是一个有效的语句,因为当对循环体(和;
语句)使用单语句时,C / C ++允许省略花括号{}
,这意味着你有一个空身的for循环!这样做:
if
另一个提示:在 for(int i = 0, n = strlen(name); n < i; i++)
循环之外定义变量,只需在for
语句中初始化计数器。
for