鱼C论坛

 找回密码
 立即注册
查看: 1795|回复: 10

谁能解决字符串问题

 关闭 [复制链接]
发表于 2014-10-9 17:25:11 | 显示全部楼层 |阅读模式
5鱼币
char ss[] = ''hao";
char dd[]=".txt";
两个字符数组,连接在一起“hao.txt”,我想循环10次每次是“hao1.txt”,也就是说每次循环字符串是不一样的,不需要人输入自动循环;
比如:1:“hao.txt”
          2:“ hao1.txt”
          3:“hao2.txt”
          4:“hao3.txt”
             ......
谁有方法解决这一的问题;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 17:25:12 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define PREFIX "hao"
  4. #define POSTFIX ".txt"
  5. int main(void) {
  6.         char buf[30];
  7.         int i;
  8.         for( i = 0; i < 10; ++i ) {
  9.                 if( i==0 ) sprintf(buf,"%s%s", PREFIX, POSTFIX);
  10.                 else sprintf(buf,"%s%d%s", PREFIX, i+1, POSTFIX);
  11.                 printf("%d:\t%s\n", i+1, buf);
  12.         }
  13.         return 0;
  14. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 17:44:02 | 显示全部楼层
  1. for( i=0; i < 10; i++)
  2.     sprintf( buffer, "%s%d%s", ss, i, dd);
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-10-9 20:11:32 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 20:32:23 | 显示全部楼层

看不太懂;for 语句,还没看到那里~~

但好象和我想的差不多,就是在二个字串中间加一个字,这个字每次加1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 20:34:57 | 显示全部楼层
haiouda 发表于 2014-10-9 20:32
看不太懂;for 语句,还没看到那里~~

但好象和我想的差不多,就是在二个字串中间加一个字,这个字每次 ...

那你会用什么循环语句呢?while还是do...while还是goto?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 20:41:16 | 显示全部楼层
仰望天上的光 发表于 2014-10-9 20:34
那你会用什么循环语句呢?while还是do...while还是goto?

#include <stdio.h>

void main()
{
        int i;
        i == 1;
    ggg: if(i<=10)
                 {
                         pintf("hao%d.txt",i);
                         i++;
                         goto ggg;

                 }
}

语法没有错语,但执行不了,不知道为什么,求指点~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 21:14:28 | 显示全部楼层
本帖最后由 haiouda 于 2014-10-9 21:18 编辑
  1. #include <stdio.h>

  2. void main()
  3. {
  4.         int i;
  5.         i = 1;
  6.   ggg: if(i<=10)
  7.          {
  8.                  printf("hao%d.txt\n",i);
  9.                   i++;
  10.                  goto ggg;
  11.                  
  12.          }
  13.       printf("end\n");
  14. }
复制代码

搞了半天终于弄好了,可是为什么写成:i==1,就会出错,而写成 i=1;就可以? 赋值和等于区别在哪里呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 21:30:36 | 显示全部楼层

仰望天上的光 == 沐浴在阳光之下的人== 分享阳光的人      {:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 21:45:49 | 显示全部楼层
haiouda 发表于 2014-10-9 21:14
搞了半天终于弄好了,可是为什么写成:i==1,就会出错,而写成 i=1;就可以? 赋值和等于区别在哪里呀? ...

i=1是把1赋值给i
i==1是判断i的值是否为1,如果为1,该表达式的值为“真”否该表达式的值为“假”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-9 21:59:58 | 显示全部楼层
仰望天上的光 发表于 2014-10-9 21:45
i=1是把1赋值给i
i==1是判断i的值是否为1,如果为1,该表达式的值为“真”否该表达式的值为“假”

多谢,我也刚刚弄明白:ton:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 13:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表