【发布时间】:2012-01-05 15:20:43
【问题描述】:
只是想知道是否有人可以向我解释一下?我有一个程序要求用户输入一个句子。然后程序将用户输入读入一个数组并将所有元音更改为 $ 符号。我的问题是 for 循环是如何工作的?初始化 char c = 0 时;这不意味着数组元素是一个 int 吗?我不明白它是如何运作的。
#include <stdio.h>
#include <string.h>
int main(void)
{
char words[50];
char c;
printf("Enter any number of words: \n");
fgets(words, 50, stdin);
for(c = 0; words[c] != '\n'; c++)
{
if(words[c] =='a'||words[c]=='e'||words[c]=='i'||words[c]=='o'||words[c]=='u')
{
words[c] = '$';
}
}
printf("%s", words);
return 0;
}
【问题讨论】:
-
c和words[c]是完全不同的东西。既然您将c定义为char,那么如果上限是 500 而不是 50,您认为这段代码会发生什么?