这是一个将字母转换为大写的程序。
谁能解释一下下面程序中 for 循环的条件是做什么的?
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
int i;
char a[50];
gets(a);
for(i=0;a[i];i++)
a[i]=toupper(a[i]);
puts(a);
return 0;
}
最佳答案
gets()
将返回一个以 0 结尾的字符串,所有 C 字符串都应该如此。因此,如果您输入“四”,添加到 a
的实际内容将是这四个字母后跟一个 0
字节。
// as if you'd declared
char a[] = { 'f', 'o', 'u', 'r', 0 };
循环测试每个字符以查看它不是 0
。当a[i]
为0
时,条件不成立,循环结束。它只是循环遍历字符串中的所有实际字符。
关于c - 这个 for 循环的条件是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33529330/