#include "stdafx.h"
#include <stdlib.h>
#include <conio.h>
#include<cctype>
#include<iostream>
#include <cstdlib>
#include <windows.h>
#include<iterator>
#include<fstream>
#include<string>
#include<vector>
#include<cctype>
#include"ctype.h"
#include <windows.h>
#include <stdio.h>
#include <time.h>
using namespace std;int main(int argc, char* argv[])
{char l[2][10];
for(int i=0;i<10;i++)
{l[0][i]=32;
cout<<l[0];}
return 0;
}
这是一段程序 我的目的是吧二位数组l的第一行赋值为空格 32是空格的阿斯科码
然后吧第一行l[0]输出~ 但是如果大家运行代码会发现出来一堆烫 而且最最神奇的是我明明只有给第一行10个元素结果 输出地何止10个。
请问就在这段小程序上修改请问怎么才能把第一行 第二行完美的赋值为空格并且屏幕上输出呢?
#include <stdlib.h>
#include <conio.h>
#include<cctype>
#include<iostream>
#include <cstdlib>
#include <windows.h>
#include<iterator>
#include<fstream>
#include<string>
#include<vector>
#include<cctype>
#include"ctype.h"
#include <windows.h>
#include <stdio.h>
#include <time.h>
using namespace std;int main(int argc, char* argv[])
{char l[2][10];
for(int i=0;i<10;i++)
{l[0][i]=32;
cout<<l[0];}
return 0;
}
这是一段程序 我的目的是吧二位数组l的第一行赋值为空格 32是空格的阿斯科码
然后吧第一行l[0]输出~ 但是如果大家运行代码会发现出来一堆烫 而且最最神奇的是我明明只有给第一行10个元素结果 输出地何止10个。
请问就在这段小程序上修改请问怎么才能把第一行 第二行完美的赋值为空格并且屏幕上输出呢?
for(int i=0;i<10;i++)
{
l[0][i]=32;
cout<<l[0];
}
{
char l[2][10];
for(int i=0;i<10;i++)
{l[0][i]=32;
l[0][10] = '\0'
cout<<l[0];}
return 0;
}
,不好意思
int main(int argc, char* argv[])
{
char l[2][10];
l[0][10] = '\0'; //放这儿也可以
for(int i=0;i<10;i++)
{l[0][i]=32;
cout<<l[0];}
return 0;
}
不对l初始化,这段代码将输出10次烫
for(int i=0;i<10;i++)
{l[0][i]=32;
cout<<l[0];}首先应在申明变量的时候初始化为0
char l[2][10] = {0};再就是应该先对第一行赋空格,然后再输出
for(int i=0;i<9;i++) // 第一行最后一个元素应保留0不作处理,作为字符串结束符。
l[0][i]=32;cout<<l[0];
using namespace std;int main(int argc, char* argv[])
{char l[2][10]={0};
for(int i=0;i<10;i++)
{
l[0][i]=32;
}
cout<<l[0];
return 0;
}
还是加我的群吧110337996
using namespace std;
int main()
{
char I[2][10];
for(int i=0;i<10;i++)
I[0][i]=' ';
for(int j=0;j<10;j++)
cout<<I[0][j];
return 0;
}
直接再来个循环输出就得了!
你用cout<<I[0];这是什么意思?这是输出字符串!因为你第一行最后没'\0',编译器怎么知道你何时结束??当然出现好多“烫”了,要不循环输出,要不在第一行最后一个后面赋'\0',然后cout<<I[0];