#include <stdio.h>
#include <math.h>
#include <float.h>
#include <limits.h>
#define NMAX 16384
main(int argc, char *argv[])
{
int interleaver[NMAX];
int i, position;
int N1, N2;
int N; // Interleaver length
char name1[40];
FILE *fp1;
// Command line processing
if (argc != 4)
{
printf(“Usage %s N1 N2 INT_file\n”, argv[0]);
exit(0);
}
sscanf(argv[1],”%d”, &N1);
sscanf(argv[2],”%d”, &N2);
sscanf(argv[3],”%s”, name1);
N = N1*N2;
fp1 = fopen(name1,”w”);
for (i=0; (i<N); i++)
{
position = (i%N1)*N2 + floor(i/N1);
interleaver[i] = position;
}
for (i=0; i<N; i++)
{
fprintf(fp1, “%d\n”, interleaver[i]);
printf(“%5d -> %5d \n”,i,interleaver[i]);
}
fclose(fp1);
}
首先问一下这段代码能否实现矩阵数据的输出?看到网上说到exe文件,那是要本人建立吗?本人想放在CCS中运行,但不知怎么样输入数组,有知道的高手也可以直接加本人qq:527207564
#include <math.h>
#include <float.h>
#include <limits.h>
#define NMAX 16384
main(int argc, char *argv[])
{
int interleaver[NMAX];
int i, position;
int N1, N2;
int N; // Interleaver length
char name1[40];
FILE *fp1;
// Command line processing
if (argc != 4)
{
printf(“Usage %s N1 N2 INT_file\n”, argv[0]);
exit(0);
}
sscanf(argv[1],”%d”, &N1);
sscanf(argv[2],”%d”, &N2);
sscanf(argv[3],”%s”, name1);
N = N1*N2;
fp1 = fopen(name1,”w”);
for (i=0; (i<N); i++)
{
position = (i%N1)*N2 + floor(i/N1);
interleaver[i] = position;
}
for (i=0; i<N; i++)
{
fprintf(fp1, “%d\n”, interleaver[i]);
printf(“%5d -> %5d \n”,i,interleaver[i]);
}
fclose(fp1);
}
首先问一下这段代码能否实现矩阵数据的输出?看到网上说到exe文件,那是要本人建立吗?本人想放在CCS中运行,但不知怎么样输入数组,有知道的高手也可以直接加本人qq:527207564
解决方案
20
代码功能归根结底不是别人帮本人看或讲解或注释出来的;而是被本人静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生本人领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
提醒:再牛×的老师也无法代替学生本人领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
10
20
呃。你可以把代码复制到编译器vc++或gcc或vs,编译运行。就知道这段代码什么意思了。无奈╮(╯_╰)╭
10
sscanf ?
是scanf 吧
是scanf 吧
10
CCS中运行数据从可以通过串口读过来