C语言的一些问题
#include<stdio.h>int main(void){char st[10] = "abcd"; int w = 80; //假定屏幕宽度int i , L;L = strlen(st); //用它计算 输出 字符串 的长度for (i = 0;i < (w - L) / 2;i++){printf(" "); // 打空白,个数 等于 (屏幕宽度-字符串长度)/2}printf("%s",st); // 打字符串return 0;}谁能看看这代码错在哪?另外for语句中控制语句i++表示什么 每次+1? 那么我想每次加2或每次*2呢 或者是别的条件 求解答
追问:来自手机问问没 这是输出居中的 我原来学VB的 上星期才学的C i++不能改吗 还是只适用于穷举法? 你代码运行过没有 现在用的不是int main(void)?
答案:
#include<stdio.h>
#include<string.h>
int st[10];
void main()
{
char st[10] = "abcd"; int w = 80; //假定屏幕宽度
int i , L;L = strlen(st); //用它计算 输出 字符串 的长度
for (i = 0;i < (w - L) / 2;i++)
{
printf(" "); // 打空白,个数 等于 (屏幕宽度-字符串长度)/2
}
printf("%s",st); // 打字符串
}
亲,你这个错的有点儿离谱,上面是给你的答案!看你提出的问题看样子也是个小白;
首先,你用了strlen这个函数,所以在头文件要加上#include<string.h>;另外要知道这个程序是干什么,显然是在abcd这四个字符前面添加38个空格;for循环里的i++,是表示,每次将i加一,也就空格往下移。这里我想问下你这个程序是为了做什么,不知道你的目的,不太好说怎么怎么样。首先你用到了求字符串长度函数strlen(),所以要把字符串函数的头文件包含进来。
也就是在最前面加一个语句。
#include<string.h>
其次,for语句中的i++表示每次执行完循环语句之后,就对i做加一的操作。
如果想要每次加2或者*2,可以把i++改成i+=2或者i*=2
有疑问提出。
望采纳~
上一个:什么是C语言?
下一个:C语言好学吗